36 lines
992 B
Ruby
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
|