scinote-web/db/migrate/20150924115001_create_report_elements.rb
2017-06-30 10:23:28 +02:00

44 lines
1.4 KiB
Ruby

class CreateReportElements < ActiveRecord::Migration[4.2]
def change
create_table :report_elements do |t|
t.integer :position, null: false
t.integer :type_of, null: false
t.integer :sort_order, { default: 0 } # Can be null
# Each element belongs to report
t.integer :report_id
# Each element can have parent element
t.references :parent, index: true
# References to various report entities
t.integer :project_id
t.integer :my_module_id
t.integer :step_id
t.integer :result_id
t.integer :checklist_id
t.integer :asset_id
t.integer :table_id
t.timestamps null: false
end
add_foreign_key :report_elements, :reports
add_index :report_elements, :report_id
add_foreign_key :report_elements, :projects
add_index :report_elements, :project_id
add_foreign_key :report_elements, :my_modules
add_index :report_elements, :my_module_id
add_foreign_key :report_elements, :steps
add_index :report_elements, :step_id
add_foreign_key :report_elements, :results
add_index :report_elements, :result_id
add_foreign_key :report_elements, :checklists
add_index :report_elements, :checklist_id
add_foreign_key :report_elements, :assets
add_index :report_elements, :asset_id
add_foreign_key :report_elements, :tables
add_index :report_elements, :table_id
end
end