diff options
Diffstat (limited to 'db/post_migrate/20200511162057_add_missing_instance_to_servicess.rb')
-rw-r--r-- | db/post_migrate/20200511162057_add_missing_instance_to_servicess.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/db/post_migrate/20200511162057_add_missing_instance_to_servicess.rb b/db/post_migrate/20200511162057_add_missing_instance_to_servicess.rb new file mode 100644 index 00000000000..efaef085e8c --- /dev/null +++ b/db/post_migrate/20200511162057_add_missing_instance_to_servicess.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +class AddMissingInstanceToServicess < ActiveRecord::Migration[6.0] + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + disable_ddl_transaction! + + # This is a corrective migration to keep the instance column. + # Upgrade from 12.7 to 12.9 removes the instance column as it was first added + # in the normal migration and then removed in the post migration. + # + # 12.8 removed the instance column in a post deployment migration https://gitlab.com/gitlab-org/gitlab/-/merge_requests/24885 + # 12.9 added the instance column in a normal migration https://gitlab.com/gitlab-org/gitlab/-/merge_requests/25714 + # + # rubocop:disable Migration/AddColumnWithDefault + # rubocop:disable Migration/UpdateLargeTable + def up + unless column_exists?(:services, :instance) + add_column_with_default(:services, :instance, :boolean, default: false) + end + end + # rubocop:enable Migration/AddColumnWithDefault + # rubocop:enable Migration/UpdateLargeTable + + def down + # Does not apply + end +end |