summaryrefslogtreecommitdiff
path: root/db/migrate/20160803161903_add_unique_index_to_lists_label_id.rb
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-08-03 14:21:22 -0300
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-08-17 12:58:58 -0300
commitc14ac835756d1d0f4d0f8279759e2b7f75364447 (patch)
tree925000dd60d64676eb76b8d4830ee7a9001a9a4f /db/migrate/20160803161903_add_unique_index_to_lists_label_id.rb
parentc08a14c3c20de35018a36f89dec0b10c99a4fd86 (diff)
downloadgitlab-ce-c14ac835756d1d0f4d0f8279759e2b7f75364447.tar.gz
Ensure that we have only one list per label per board
Diffstat (limited to 'db/migrate/20160803161903_add_unique_index_to_lists_label_id.rb')
-rw-r--r--db/migrate/20160803161903_add_unique_index_to_lists_label_id.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/db/migrate/20160803161903_add_unique_index_to_lists_label_id.rb b/db/migrate/20160803161903_add_unique_index_to_lists_label_id.rb
new file mode 100644
index 00000000000..baf2e70b127
--- /dev/null
+++ b/db/migrate/20160803161903_add_unique_index_to_lists_label_id.rb
@@ -0,0 +1,15 @@
+class AddUniqueIndexToListsLabelId < ActiveRecord::Migration
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ disable_ddl_transaction!
+
+ def up
+ add_concurrent_index :lists, [:board_id, :label_id], unique: true
+ end
+
+ def down
+ remove_index :lists, column: [:board_id, :label_id] if index_exists?(:lists, [:board_id, :label_id], unique: true)
+ end
+end