如何更改表名?

Roo*_*yar 0 ruby-on-rails rails-activerecord

我是 Rails 新手。更改表名称时遇到问题。

我尝试通过转到迁移文件来更改名称create_table,并从那里更改名称,但它不起作用。

小智 5

首先需要生成用于重命名的迁移

$ rails g migration RenameOldTableToNewTable
Run Code Online (Sandbox Code Playgroud)

然后在新创建的迁移文件中您应该添加rename_table语句

class RenameOldTableToNewTable < ActiveRecord::Migration[6.1]
  def change
    rename_table :old_table_name, :new_table_name
  end 
end
Run Code Online (Sandbox Code Playgroud)

最后运行迁移

$ rails db:migrate
Run Code Online (Sandbox Code Playgroud)

参考:/sf/answers/32999781/