Rails 5:重命名表迁移

Tal*_*aid 16 ruby-on-rails

使用迁移更改表名称的最佳方法是什么,并更改控制器,模型和关联等所有文件的名称?
当有人试图运行rails时会出现任何问题:db:在克隆我的repo后迁移

sea*_*vis 37

使用迁移更改表名称的最佳方法是什么?

要更改表的名称,您可以运行:

$ rails g migration change_[old_table_name]_to_[new_table_name]
Run Code Online (Sandbox Code Playgroud)

change生成的迁移文件的方法中,添加以下内容:

def change
  rename_table :[old_table_name], :[new_table_name]
end
Run Code Online (Sandbox Code Playgroud)

改变[old_table_name],[new_table_name]在两种情况下.

(这部分问题已在这里得到解答.)

克隆我的仓库后有人会尝试运行rails db:migrate会有什么问题吗?

不.保留旧的迁移文件并生成新的文件.这是数据库迁移的好处.

更改控制器,模型和关联等所有文件名称的最佳方法是什么?

改变模型名称通常不会太大.许多文本编辑器都能够在目录中进行搜索和替换.

我会手动重命名文件名.


这里有一组更详细的步骤,以确保您已经完成了所有需要更改的内容.

  • 如果适用,我还建议在迁移中更改您的外键名称 (2认同)