game-data/db/migrations/0004_add_projects_table.rb

36 lines
992 B
Ruby

Sequel.migration do
up do
# create projects table
create_table(:projects) do
primary_key :id
String :name, null: false
String :description
DateTime :created_at, default: Sequel::CURRENT_TIMESTAMP
DateTime :updated_at, default: Sequel::CURRENT_TIMESTAMP
end
# create tables for project many-to-many relationships
create_table(:projects_hardware) do
foreign_key(:project_id, :projects, null: false)
foreign_key(:hardware_id, :hardware, null: false)
end
create_table(:projects_benchmarks) do
foreign_key(:project_id, :projects, null: false)
foreign_key(:benchmark_id, :benchmarks, null: false)
end
create_table(:projects_tests) do
foreign_key(:project_id, :projects, null: false)
foreign_key(:test_id, :tests, null: false)
end
end
down do
drop_table(:projects_tests)
drop_table(:projects_benchmarks)
drop_table(:projects_hardware)
drop_table(:projects)
end
end