diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2017-04-06 13:40:30 +0000 |
---|---|---|
committer | Kamil Trzciński <ayufan@ayufan.eu> | 2017-04-06 13:40:30 +0000 |
commit | 88f33a1266ca51d48272e858c399daedd837575f (patch) | |
tree | 9c0da433d01a0cf01cdc0ded774c8b85a949403f /doc/development | |
parent | b3ea598b1aeaf7f3eb0071b60f97247ad67e69f4 (diff) | |
parent | 8199ff7bd71ce91fbc945b2c31010fcf654bda67 (diff) | |
download | gitlab-ce-update-trace-handling-code.tar.gz |
Merge branch 'master' into 'update-trace-handling-code'update-trace-handling-code
# Conflicts:
# app/assets/javascripts/build.js
Diffstat (limited to 'doc/development')
-rw-r--r-- | doc/development/migration_style_guide.md | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/doc/development/migration_style_guide.md b/doc/development/migration_style_guide.md index fd8335d251e..587922d0136 100644 --- a/doc/development/migration_style_guide.md +++ b/doc/development/migration_style_guide.md @@ -58,10 +58,22 @@ migration was tested. ## Removing indices -If you need to remove index, please add a condition like in following example: +When removing an index make sure to use the method `remove_concurrent_index` instead +of the regular `remove_index` method. The `remove_concurrent_index` method +automatically drops concurrent indexes when using PostgreSQL, removing the +need for downtime. To use this method you must disable transactions by calling +the method `disable_ddl_transaction!` in the body of your migration class like +so: ```ruby -remove_index :namespaces, column: :name if index_exists?(:namespaces, :name) +class MyMigration < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + disable_ddl_transaction! + + def up + remove_concurrent_index :table_name, :column_name if index_exists?(:table_name, :column_name) + end +end ``` ## Adding indices |