diff --git a/db/migrate/20170222111732_create_gpg_keys.rb b/db/migrate/20170222111732_create_gpg_keys.rb index 541228e8735..0d6d454bbf3 100644 --- a/db/migrate/20170222111732_create_gpg_keys.rb +++ b/db/migrate/20170222111732_create_gpg_keys.rb @@ -1,4 +1,6 @@ class CreateGpgKeys < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + DOWNTIME = false def change @@ -12,8 +14,8 @@ class CreateGpgKeys < ActiveRecord::Migration t.text :key - t.index :primary_keyid, unique: true, length: Gitlab::Database.mysql? ? 20 : nil - t.index :fingerprint, unique: true, length: Gitlab::Database.mysql? ? 20 : nil + t.index :primary_keyid, unique: true, length: mysql_compatible_index_length + t.index :fingerprint, unique: true, length: mysql_compatible_index_length end end end diff --git a/db/migrate/20170613154149_create_gpg_signatures.rb b/db/migrate/20170613154149_create_gpg_signatures.rb index f6b5e7ebb7b..abef13a7a0b 100644 --- a/db/migrate/20170613154149_create_gpg_signatures.rb +++ b/db/migrate/20170613154149_create_gpg_signatures.rb @@ -1,4 +1,6 @@ class CreateGpgSignatures < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + DOWNTIME = false def change @@ -16,8 +18,8 @@ class CreateGpgSignatures < ActiveRecord::Migration t.text :gpg_key_user_name t.text :gpg_key_user_email - t.index :commit_sha, unique: true, length: Gitlab::Database.mysql? ? 20 : nil - t.index :gpg_key_primary_keyid, length: Gitlab::Database.mysql? ? 20 : nil + t.index :commit_sha, unique: true, length: mysql_compatible_index_length + t.index :gpg_key_primary_keyid, length: mysql_compatible_index_length end end end diff --git a/db/migrate/20170827123848_add_index_on_merge_request_diff_commit_sha.rb b/db/migrate/20170827123848_add_index_on_merge_request_diff_commit_sha.rb index 1b360b231a8..2140ff7b05e 100644 --- a/db/migrate/20170827123848_add_index_on_merge_request_diff_commit_sha.rb +++ b/db/migrate/20170827123848_add_index_on_merge_request_diff_commit_sha.rb @@ -8,7 +8,7 @@ class AddIndexOnMergeRequestDiffCommitSha < ActiveRecord::Migration disable_ddl_transaction! def up - add_concurrent_index :merge_request_diff_commits, :sha, length: Gitlab::Database.mysql? ? 20 : nil + add_concurrent_index :merge_request_diff_commits, :sha, length: mysql_compatible_index_length end def down diff --git a/db/migrate/20170927161718_create_gpg_key_subkeys.rb b/db/migrate/20170927161718_create_gpg_key_subkeys.rb index c03c40416a8..d9dc2404cac 100644 --- a/db/migrate/20170927161718_create_gpg_key_subkeys.rb +++ b/db/migrate/20170927161718_create_gpg_key_subkeys.rb @@ -1,4 +1,6 @@ class CreateGpgKeySubkeys < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + DOWNTIME = false def up @@ -8,8 +10,8 @@ class CreateGpgKeySubkeys < ActiveRecord::Migration t.binary :keyid t.binary :fingerprint - t.index :keyid, unique: true, length: Gitlab::Database.mysql? ? 20 : nil - t.index :fingerprint, unique: true, length: Gitlab::Database.mysql? ? 20 : nil + t.index :keyid, unique: true, length: mysql_compatible_index_length + t.index :fingerprint, unique: true, length: mysql_compatible_index_length end add_reference :gpg_signatures, :gpg_key_subkey, index: true, foreign_key: { on_delete: :nullify } diff --git a/lib/gitlab/database/migration_helpers.rb b/lib/gitlab/database/migration_helpers.rb index 7f012312819..30541ee3553 100644 --- a/lib/gitlab/database/migration_helpers.rb +++ b/lib/gitlab/database/migration_helpers.rb @@ -1073,6 +1073,10 @@ into similar problems in the future (e.g. when new tables are created). connection.select_value(index_sql).to_i > 0 end + + def mysql_compatible_index_length + Gitlab::Database.mysql? ? 20 : nil + end end end end