是否有可能干扰此迁移?

时间:2012-02-03 10:10:16

标签: ruby-on-rails ruby activerecord migration dry

我有一个表,我希望其他表可以引用的文件夹,到目前为止,我的迁移脚本如下所示:

create_table :folders do |t|
  t.timestamps
end

....

change_table table1 do |t|
  t.references :folders
end
change_table table2 do |t|
  t.references :folders
end
change_table table3 do |t|
  t.references :folders
end
change_table table4 do |t|
  t.references :folders
end

由于我对每个表基本上做同样的事情,是否有更简洁和可维护的方式来编写它?

由于

2 个答案:

答案 0 :(得分:5)

尝试这样做:

[table1, table2, table3, table4].each do |tbl|
    change_table tbl { |t| t.references :folders }
end

我希望你不要用模式table{#n}命名表,并在实际代码中给它们起好名字:)

答案 1 :(得分:0)

请你试试这个。

  (1..4).each do |num|
      change_table "table#{num}" do |t|
      t.references :folders
      end
    end

希望它会有所帮助。