【发布时间】:2010-10-03 01:17:09
【问题描述】:
我不擅长命名,并意识到我的 Rails 应用程序中有一组更好的模型名称。
有没有办法使用迁移来重命名模型及其对应的表?
【问题讨论】:
-
我建议在这个问题中添加“ActiveRecord”以改进搜索引擎匹配。我一直在寻找这个使用“ActiveRecord 重命名表”。
-
如果你使用迁移,这个问题比看起来要复杂。选定的解决方案说在您更改表名后返回并手动重命名模型、控制器等。如果您这样做,所有以旧名称引用您的模型的旧迁移都将失败。因此,当有人克隆您的 repo 并尝试运行
rake db:migrate时,它将失败。您可以返回并在迁移中更改这些名称,但这会变得一团糟。您最好创建一个全新的模型而不是重命名它。 -
@andrewhannigan:如果有人克隆你的 repo 并运行
rake db:schema:load,你的观点不是没有意义吗? -
@istrasci:绝对。事实上,我们不鼓励使用
rake db:migrate从头开始建立数据库,这正是由于 andrew 指出的担忧。
标签: ruby-on-rails migration rails-activerecord