怎么用Rails重命名表?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (12)

我想重命名一个表...(任何表)

我试过这行代码:

ActiveRecord::ConnectionAdapters::SchemaStatements.rename_table(old_name, new_name)

这是奇怪的事情。我知道我第一次工作,但现在我得到这个错误:“undefined method `rename_table' for ActiveRecord::ConnectionAdapters::SchemaStatements:Module”

我需要设置什么?

提问于
用户回答回答于

通常可以在迁移中做这样的事情:

class RenameFoo < ActiveRecord::Migration
  def self.up
    rename_table :foo, :bar
  end

  def self.down
    rename_table :bar, :foo
  end
end
用户回答回答于

请记住,在Rails3.1以上,可以使用该change方法。

 class RenameOldTableToNewTable < ActiveRecord::Migration
   def change
     rename_table :old_table_name, :new_table_name
   end 
 end

扫码关注云+社区