是否可以干这个迁移?
问题描述:
我有一个表,我想一些其他的表,参考文件夹,到目前为止我的迁移脚本是这样的:是否可以干这个迁移?
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
因为我在做基本上是同样的事情到每个表中,是否有更简洁和可维护的方式来写这个?
感谢
答
尝试这样做:
[table1, table2, table3, table4].each do |tbl|
change_table tbl { |t| t.references :folders }
end
我希望你不要用命名模式table{#n}
表,让他们在你的实际代码:)
答
好名字,你可以请尝试这个。
(1..4).each do |num|
change_table "table#{num}" do |t|
t.references :folders
end
end
希望它有帮助。
+0
你需要评估该字符串,否则它只是保持一个字符串;它不是指向表#对象的东西。 – omninonsense 2012-02-03 15:00:56
是的,这些名称只是为了抽象的例子:) – Chris 2012-02-03 11:12:24