To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.
root / vendor / plugins / engines / generators / plugin_migration / USAGE @ 918:04114f36670d
History | View | Annotate | Download (1.54 KB)
| 1 |
Description: |
|---|---|
| 2 |
The plugin migration generator assists in working with schema additions |
| 3 |
required by plugins. Instead of running migrations from plugins directly, |
| 4 |
the generator creates a regular Rails migration which will be responsible |
| 5 |
for migrating the plugins from their current version to the latest version |
| 6 |
installed. |
| 7 |
|
| 8 |
This is important because the set of application migrations remains an |
| 9 |
accurate record of the state of the database, even as plugins are installed |
| 10 |
and removed during the development process. |
| 11 |
|
| 12 |
Example: |
| 13 |
./script/generate plugin_migration [<plugin_name> <another_plugin_name> ...] |
| 14 |
|
| 15 |
This will generate: |
| 16 |
|
| 17 |
RAILS_ROOT |
| 18 |
|- db |
| 19 |
|-migrate |
| 20 |
|- xxx_plugin_migrations.rb |
| 21 |
|
| 22 |
which contains the migrations for the given plugin(s). |
| 23 |
|
| 24 |
|
| 25 |
Advanced Usage: |
| 26 |
|
| 27 |
There may be situations where you need *complete* control over the migrations |
| 28 |
of plugins in your application, migrating a certainly plugin down to X, and |
| 29 |
another plugin up to Y, where neither X or Y are the latest migrations for those |
| 30 |
plugins. |
| 31 |
|
| 32 |
For those unfortunate few, I have two pieces of advice: |
| 33 |
|
| 34 |
1. Why? This is a code smell [http://c2.com/xp/CodeSmell.html]. |
| 35 |
|
| 36 |
2. Well, OK. Don't panic. You can completely control plugin migrations by |
| 37 |
creating your own migrations. To manually migrate a plugin to a specific |
| 38 |
version, simply use |
| 39 |
|
| 40 |
Engines.plugins[:your_plugin_name].migrate(version) |
| 41 |
|
| 42 |
where version is the integer of the migration this plugin should end |
| 43 |
up at. |
| 44 |
|
| 45 |
With great power comes great responsibility. Use this wisely. |