24 lines
630 B
Ruby
24 lines
630 B
Ruby
|
class OverviewRoleIds < ActiveRecord::Migration
|
||
|
def up
|
||
|
|
||
|
# return if it's a new setup
|
||
|
return if !Setting.find_by(name: 'system_init_done')
|
||
|
|
||
|
create_table :overviews_roles, id: false do |t|
|
||
|
t.integer :overview_id
|
||
|
t.integer :role_id
|
||
|
end
|
||
|
add_index :overviews_roles, [:overview_id]
|
||
|
add_index :overviews_roles, [:role_id]
|
||
|
Overview.connection.schema_cache.clear!
|
||
|
Overview.reset_column_information
|
||
|
Overview.all.each { |overview|
|
||
|
next if overview.role_id.blank?
|
||
|
overview.role_ids = [overview.role_id]
|
||
|
overview.save!
|
||
|
}
|
||
|
remove_column :overviews, :role_id
|
||
|
end
|
||
|
|
||
|
end
|