cartodb-4.29/db/migrate/20150930105157_invitations.rb
2020-06-15 10:58:47 +08:00

47 lines
1.3 KiB
Ruby

Sequel.migration do
up do
SequelRails::connection.run 'CREATE EXTENSION IF NOT EXISTS "uuid-ossp"'
create_table :invitations do
Uuid :id, primary_key: true, default: Sequel.lit('uuid_generate_v4()')
Uuid :organization_id, null: false
Uuid :inviter_user_id, null: false
# users_emails shouldn't allow null. See Carto::Invitation.
column :users_emails, 'text[]', null: true
column :used_emails, 'text[]', null: true
String :welcome_text, type: 'text', null: false
String :seed, type: 'text', null: false
DateTime :created_at, default: Sequel::CURRENT_TIMESTAMP
DateTime :updated_at, default: Sequel::CURRENT_TIMESTAMP
end
SequelRails.connection.run(%{
ALTER TABLE "invitations"
ADD CONSTRAINT invitations_organization_id_fk
FOREIGN KEY (organization_id)
REFERENCES organizations(id)
ON DELETE CASCADE
})
SequelRails.connection.run(%{
ALTER TABLE "invitations"
ADD CONSTRAINT invitations_inviter_user_id_fk
FOREIGN KEY (inviter_user_id)
REFERENCES users(id)
ON DELETE CASCADE
})
alter_table :user_creations do
add_column :invitation_token, :text, null: true
end
end
down do
drop_table :invitations
alter_table :user_creations do
drop_column :invitation_token
end
end
end