38 lines
1.1 KiB
Ruby
38 lines
1.1 KiB
Ruby
class CreateDoorkeeperOpenidConnectTables < ActiveRecord::Migration
|
|
include Gitlab::Database::MigrationHelpers
|
|
|
|
DOWNTIME = false
|
|
|
|
disable_ddl_transaction!
|
|
|
|
def up
|
|
create_table :oauth_openid_requests do |t|
|
|
t.integer :access_grant_id, null: false
|
|
t.string :nonce, null: false
|
|
end
|
|
|
|
if Gitlab::Database.postgresql?
|
|
# add foreign key without validation to avoid downtime on PostgreSQL,
|
|
# also see db/post_migrate/20170209140523_validate_foreign_keys_on_oauth_openid_requests.rb
|
|
execute %q{
|
|
ALTER TABLE "oauth_openid_requests"
|
|
ADD CONSTRAINT "fk_oauth_openid_requests_oauth_access_grants_access_grant_id"
|
|
FOREIGN KEY ("access_grant_id")
|
|
REFERENCES "oauth_access_grants" ("id")
|
|
NOT VALID;
|
|
}
|
|
else
|
|
execute %q{
|
|
ALTER TABLE oauth_openid_requests
|
|
ADD CONSTRAINT fk_oauth_openid_requests_oauth_access_grants_access_grant_id
|
|
FOREIGN KEY (access_grant_id)
|
|
REFERENCES oauth_access_grants (id);
|
|
}
|
|
end
|
|
end
|
|
|
|
def down
|
|
drop_table :oauth_openid_requests
|
|
end
|
|
end
|