Allow same email address with different SSO providers

This commit is contained in:
Christoph Haas 2017-04-06 18:31:58 +02:00
parent 381ee35204
commit 63634f00df
3 changed files with 14 additions and 3 deletions

View file

@ -0,0 +1,10 @@
# A user's email address may not be unique if they use different
# single-sign-on providers with the same email address.
# But the combination of the email address and the (SSO)
# provider should be unique.
class ChangeUsersUniqueIndexToUidProvider < ActiveRecord::Migration[5.0]
def change
remove_index 'users', 'email'
add_index 'users', ["email", "provider"], :unique => true
end
end

View file

@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20170405204143) do
ActiveRecord::Schema.define(version: 20170406155141) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -78,7 +78,7 @@ ActiveRecord::Schema.define(version: 20170405204143) do
t.datetime "locked_at"
t.string "provider"
t.string "uid"
t.index ["email"], name: "index_users_on_email", unique: true, using: :btree
t.index ["email", "provider"], name: "index_users_on_email_and_provider", unique: true, using: :btree
end
add_foreign_key "screenshots", "packages", name: "screenshots_package_id_fkey"