scinote-web/db/migrate/20161123161514_create_samples_tables.rb

36 lines
1.2 KiB
Ruby
Raw Normal View History

2017-06-30 16:23:28 +08:00
class CreateSamplesTables < ActiveRecord::Migration[4.2]
def change
create_table :samples_tables do |t|
2016-12-07 21:14:32 +08:00
t.jsonb :status, null: false,
2016-12-08 21:41:35 +08:00
default: SampleDatatable::SAMPLES_TABLE_DEFAULT_STATE
# Foreign keys
t.references :user, null: false
2017-01-26 23:30:31 +08:00
t.references :team, null: false
t.timestamps null: false
end
add_index :samples_tables, :user_id
2017-01-26 23:30:31 +08:00
add_index :samples_tables, :team_id
User.find_each do |user|
2017-01-26 23:30:31 +08:00
next unless user.teams
user.teams.find_each do |team|
team_status = SampleDatatable::SAMPLES_TABLE_DEFAULT_STATE.deep_dup
next unless team.custom_fields
team.custom_fields.each_with_index do |_, index|
team_status['columns'] << { 'visible' => true,
'search' => {
'search' => '',
'smart' => true,
'regex' => false,
'caseInsensitive' => true
} }
team_status['ColReorder'] << (7 + index)
end
2017-01-26 23:30:31 +08:00
SamplesTable.create(user: user, team: team, status: team_status)
end
end
end
end