\MigrateTranslatableTask
Migrates the old Translatable datamodel introduced in SilverStripe 2.1 to the new schema introduced in SilverStripe 2.3.2.
Just works for records and subclasses. If you have used the Translatable
extension on other subclasses before, this script won't migrate them automatically.
<h2>Limitations</h2>
- Information from the extension (e.g. in "SiteTree_versions" table)
will be discarded for translated records.
- Custom translatable fields on your own class or subclasses thereof won't
be migrated into the translation.
- 2.1-style subtags of a language (e.g. "en") will be automatically disambiguated to their full
locale value (e.g. "en_US"), by the lookup defined in .
- Doesn't detect published translations when the script is run twice on the same data set
<h2>Usage</h2>
PLEASE BACK UP YOUR DATABASE BEFORE RUNNING THIS SCRIPT.
Warning: Please run dev/build on your 2.2 database to update the schema before running this task.
The dev/build command will rename tables like "SiteTree_lang" to "_obsolete_SiteTree_lang".
<h3>Commandline</h3>
Requires "sake" tool (see http://doc.silverstripe.com/?id=sake)
<example>
sake dev/tasks/MigrateTranslatableTask
</example>
<h3>Browser</h3>
<example>
http://mydomain.com/dev/tasks/MigrateTranslatableTask
</example>
Synopsis
- // members
- protected string $title = "Migrate Translatable Task";
- protected string $description = "Migrates site translations from SilverStripe 2.1/2.2 to new database structure.";
Hierarchy
Extends
- BuildTask
Members
protected
- $description
- $title