diff options
author | Sean McGivern <sean@mcgivern.me.uk> | 2017-10-04 11:15:16 +0000 |
---|---|---|
committer | Sean McGivern <sean@mcgivern.me.uk> | 2017-10-04 11:15:16 +0000 |
commit | 086784411c73d61a296e923b2274f81344646a77 (patch) | |
tree | ae1880f9e07f27b2ec0e9343470c90eb40bc6a03 | |
parent | 4a4f809353a2e7007f8c6d33bfb1e4d09ed5a560 (diff) | |
parent | e40b018bc73176429ceb1498b7d206c17eeb3e05 (diff) | |
download | gitlab-ce-086784411c73d61a296e923b2274f81344646a77.tar.gz |
Merge branch 'fix_migration_with_fast_forward_option' into 'master'
Fix AddFastForwardOptionToProject migration
See merge request gitlab-org/gitlab-ce!14676
-rw-r--r-- | db/migrate/20150827121444_add_fast_forward_option_to_project.rb | 6 | ||||
-rw-r--r-- | db/migrate/20171004121444_make_sure_fast_forward_option_exists.rb | 25 | ||||
-rw-r--r-- | db/schema.rb | 2 |
3 files changed, 30 insertions, 3 deletions
diff --git a/db/migrate/20150827121444_add_fast_forward_option_to_project.rb b/db/migrate/20150827121444_add_fast_forward_option_to_project.rb index 014f5b2f372..6f22641077d 100644 --- a/db/migrate/20150827121444_add_fast_forward_option_to_project.rb +++ b/db/migrate/20150827121444_add_fast_forward_option_to_project.rb @@ -7,11 +7,13 @@ class AddFastForwardOptionToProject < ActiveRecord::Migration disable_ddl_transaction! - def add + def up add_column_with_default(:projects, :merge_requests_ff_only_enabled, :boolean, default: false) end def down - remove_column(:projects, :merge_requests_ff_only_enabled) + if column_exists?(:projects, :merge_requests_ff_only_enabled) + remove_column(:projects, :merge_requests_ff_only_enabled) + end end end diff --git a/db/migrate/20171004121444_make_sure_fast_forward_option_exists.rb b/db/migrate/20171004121444_make_sure_fast_forward_option_exists.rb new file mode 100644 index 00000000000..ac266c3e22e --- /dev/null +++ b/db/migrate/20171004121444_make_sure_fast_forward_option_exists.rb @@ -0,0 +1,25 @@ +# rubocop:disable all +class MakeSureFastForwardOptionExists < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + # Set this constant to true if this migration requires downtime. + DOWNTIME = false + + disable_ddl_transaction! + + def up + # We had to fix the migration db/migrate/20150827121444_add_fast_forward_option_to_project.rb + # And this is why it's possible that someone has ran the migrations but does + # not have the merge_requests_ff_only_enabled column. This migration makes sure it will + # be added + unless column_exists?(:projects, :merge_requests_ff_only_enabled) + add_column_with_default(:projects, :merge_requests_ff_only_enabled, :boolean, default: false) + end + end + + def down + if column_exists?(:projects, :merge_requests_ff_only_enabled) + remove_column(:projects, :merge_requests_ff_only_enabled) + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 3428807dd7c..fa1aad257db 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20170928100231) do +ActiveRecord::Schema.define(version: 20171004121444) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" |