diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-07-03 20:24:32 +0200 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-07-03 20:24:32 +0200 |
commit | 3bad69cc78c29b2d1ec06deb540ffb77872de265 (patch) | |
tree | 69e4019b66d3709fcc60c3a0ef9ac4c6f3a21a65 /db/migrate | |
parent | 0f30bcf15d325031912fdb041339902a164cf17b (diff) | |
download | gitlab-ce-3bad69cc78c29b2d1ec06deb540ffb77872de265.tar.gz |
Improve stage_id in ci_builds foreign key migration
Diffstat (limited to 'db/migrate')
-rw-r--r-- | db/migrate/20170703102400_add_stage_id_foreign_key_to_builds.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/db/migrate/20170703102400_add_stage_id_foreign_key_to_builds.rb b/db/migrate/20170703102400_add_stage_id_foreign_key_to_builds.rb new file mode 100644 index 00000000000..a54d8e3c36d --- /dev/null +++ b/db/migrate/20170703102400_add_stage_id_foreign_key_to_builds.rb @@ -0,0 +1,21 @@ +class AddStageIdForeignKeyToBuilds < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + disable_ddl_transaction! + + def up + unless index_exists?(:ci_builds, :stage_id) + add_concurrent_index(:ci_builds, :stage_id) + add_concurrent_foreign_key(:ci_builds, :ci_stages, column: :stage_id, on_delete: :cascade) + end + end + + def down + if index_exists?(:ci_builds, :stage_id) + remove_foreign_key(:ci_builds, column: :stage_id) + remove_concurrent_index(:ci_builds, :stage_id) + end + end +end |