cartodb/db/migrate/20150731082651_create_templates_table.rb
2020-06-15 10:58:47 +08:00

49 lines
1.6 KiB
Ruby

Sequel.migration do
up do
SequelRails::connection.run 'CREATE EXTENSION IF NOT EXISTS "uuid-ossp"'
create_table :templates do
Uuid :id, primary_key: true, null: false, unique: false, default: Sequel.lit('uuid_generate_v4()')
Uuid :source_visualization_id, null: false
String :title, null: false
String :description, null: false, default: ''
String :min_supported_version, null: false, default: ''
String :max_supported_version, null: false, default: ''
String :code, null: false, default: ''
Uuid :organization_id, null: false
String :required_tables_list, null: false, default: ''
DateTime :created_at, null: false, default: Sequel::CURRENT_TIMESTAMP
end
SequelRails.connection.run(%Q{
ALTER TABLE "templates"
ADD CONSTRAINT source_visualization_id_fkey_cascade_del
FOREIGN KEY (source_visualization_id)
REFERENCES visualizations(id)
ON DELETE CASCADE
})
SequelRails.connection.run(%Q{
ALTER TABLE "templates"
ADD CONSTRAINT organization_id_fkey_cascade_del
FOREIGN KEY (organization_id)
REFERENCES organizations(id)
ON DELETE CASCADE
})
SequelRails.connection.run(%Q{
CREATE INDEX organization_id_idx ON templates(organization_id)
})
SequelRails.connection.run(%Q{
CREATE INDEX source_visualization_id_idx ON templates(source_visualization_id)
})
end
down do
drop_table :templates
end
end