summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changelogs/unreleased/db-update-geo-nodes-primary.yml5
-rw-r--r--db/post_migrate/20190618171120_update_geo_nodes_primary.rb20
-rw-r--r--db/schema.rb2
3 files changed, 26 insertions, 1 deletions
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"