diff --git a/changelogs/unreleased/db-update-geo-nodes-primary.yml b/changelogs/unreleased/db-update-geo-nodes-primary.yml new file mode 100644 index 00000000000..7c5203353ac --- /dev/null +++ b/changelogs/unreleased/db-update-geo-nodes-primary.yml @@ -0,0 +1,5 @@ +--- +title: Disallow `NULL` values for `geo_nodes.primary` column +merge_request: 29818 +author: Arun Kumar Mohan +type: other diff --git a/db/post_migrate/20190618171120_update_geo_nodes_primary.rb b/db/post_migrate/20190618171120_update_geo_nodes_primary.rb new file mode 100644 index 00000000000..dc9cfbda177 --- /dev/null +++ b/db/post_migrate/20190618171120_update_geo_nodes_primary.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +# See http://doc.gitlab.com/ce/development/migration_style_guide.html +# for more information on how to write migrations for GitLab. + +class UpdateGeoNodesPrimary < ActiveRecord::Migration[5.1] + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + def up + change_column_default(:geo_nodes, :primary, false) + change_column_null(:geo_nodes, :primary, false, false) + end + + def down + change_column_default(:geo_nodes, :primary, nil) + change_column_null(:geo_nodes, :primary, true) + end +end diff --git a/db/schema.rb b/db/schema.rb index 4e333633a8b..02d8ab10935 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -1391,7 +1391,7 @@ ActiveRecord::Schema.define(version: 20190619175843) do end create_table "geo_nodes", id: :serial, force: :cascade do |t| - t.boolean "primary" + t.boolean "primary", default: false, null: false t.integer "oauth_application_id" t.boolean "enabled", default: true, null: false t.string "access_key"