Commit f4599c6f authored by Yorick Peterse's avatar Yorick Peterse Committed by Robert Speicher

Merge branch 'fix_migration_style_guide' into 'master'

Update migration_style_guide.md with new details

See merge request !4693
parent a143076f
...@@ -34,6 +34,15 @@ First, you need to provide information on whether the migration can be applied: ...@@ -34,6 +34,15 @@ First, you need to provide information on whether the migration can be applied:
3. online with errors on new instances while migrating 3. online with errors on new instances while migrating
4. offline (needs to happen without app servers to prevent db corruption) 4. offline (needs to happen without app servers to prevent db corruption)
For example:
```
# rubocop:disable all
# Migration type: online without errors (works on previous version and new one)
class MyMigration < ActiveRecord::Migration
...
```
It is always preferable to have a migration run online. If you expect the migration It is always preferable to have a migration run online. If you expect the migration
to take particularly long (for instance, if it loops through all notes), to take particularly long (for instance, if it loops through all notes),
this is valuable information to add. this is valuable information to add.
...@@ -48,7 +57,6 @@ be possible to downgrade in case of a vulnerability or bugs. ...@@ -48,7 +57,6 @@ be possible to downgrade in case of a vulnerability or bugs.
In your migration, add a comment describing how the reversibility of the In your migration, add a comment describing how the reversibility of the
migration was tested. migration was tested.
## Removing indices ## Removing indices
If you need to remove index, please add a condition like in following example: If you need to remove index, please add a condition like in following example:
...@@ -70,6 +78,7 @@ so: ...@@ -70,6 +78,7 @@ so:
``` ```
class MyMigration < ActiveRecord::Migration class MyMigration < ActiveRecord::Migration
include Gitlab::Database::MigrationHelpers
disable_ddl_transaction! disable_ddl_transaction!
def change def change
...@@ -90,8 +99,11 @@ value of `10` you'd write the following: ...@@ -90,8 +99,11 @@ value of `10` you'd write the following:
``` ```
class MyMigration < ActiveRecord::Migration class MyMigration < ActiveRecord::Migration
include Gitlab::Database::MigrationHelpers
disable_ddl_transaction!
def up def up
add_column_with_default(:projects, :foo, :integer, 10) add_column_with_default(:projects, :foo, :integer, default: 10)
end end
def down def down
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment