Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dzaporozhets@gitlab.com>2014-12-23 12:58:54 +0300
committerDmitriy Zaporozhets <dzaporozhets@gitlab.com>2014-12-23 12:58:54 +0300
commit554719d985916d9f49f70b577382ab3a6da7eb7f (patch)
treeef2df4ee4dfe5e8d1b0ce64bbf9ef9e512fc7f9a /db
parent3eb239d6fcc9d48e029f0ef11ea95c10075c3289 (diff)
parent1440ac815435063330955a6c73ca5ba3b2304ba4 (diff)
Merge branch 'fix-mysql-migration' into 'master'
Fix mysql migration Fixes exception noted in https://gitlab.com/gitlab-org/gitlab-ce/issues/913 ``` ** Invoke db:migrate (first_time) ** Invoke environment (first_time) ** Execute environment ** Invoke db:load_config (first_time) ** Execute db:load_config ** Execute db:migrate == 20141121161704 AddIdentityTable: migrating ================================= -- create_table(:identities) -> 0.1214s -- add_index(:identities, :user_id) -> 0.1660s -- execute("INSERT INTO identities (provider, extern_uid, user_id)\nSELECT provider, extern_uid, id FROM users\nWHERE provider IS NOT NULL\n") -> 0.0518s -- remove_column(:users, :extern_uid) rake aborted! StandardError: An error has occurred, all later migrations canceled: Mysql2::Error: Duplicate entry 'ldap' for key 'index_users_on_extern_uid_and_provider': ALTER TABLE `users` DROP `extern_uid`/home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/activerecord-4.1.1/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:301:in `query' /home/git/gitlab/vendor/bundle/ruby/2.1.0/gems/activerecord-4.1.1/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:301:in `block in execute' ``` See merge request !1344
Diffstat (limited to 'db')
-rw-r--r--db/migrate/20141121161704_add_identity_table.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/db/migrate/20141121161704_add_identity_table.rb b/db/migrate/20141121161704_add_identity_table.rb
index 6fe63637dfe..a85b0426cec 100644
--- a/db/migrate/20141121161704_add_identity_table.rb
+++ b/db/migrate/20141121161704_add_identity_table.rb
@@ -14,6 +14,10 @@ SELECT provider, extern_uid, id FROM users
WHERE provider IS NOT NULL
eos
+ if index_exists?(:users, ["extern_uid", "provider"])
+ remove_index :users, ["extern_uid", "provider"]
+ end
+
remove_column :users, :extern_uid
remove_column :users, :provider
end
@@ -34,5 +38,9 @@ eos
end
drop_table :identities
+
+ unless index_exists?(:users, ["extern_uid", "provider"])
+ add_index "users", ["extern_uid", "provider"], name: "index_users_on_extern_uid_and_provider", unique: true, using: :btree
+ end
end
end