ruby-on-rails - 如何编写迁移来重命名 Rails 中的 ActiveRecord 模型及其表?

标签 ruby-on-rails migration rails-activerecord

我不擅长命名,并且意识到我的 Rails 应用程序中有一组更好的模型名称。
有没有办法使用迁移来重命名模型及其对应的表?

最佳答案

这是一个例子:

class RenameOldTableToNewTable < ActiveRecord::Migration
  def self.up
    rename_table :old_table_name, :new_table_name
  end

  def self.down
    rename_table :new_table_name, :old_table_name
  end
end

我必须手动重命名模型声明文件。

编辑:

在 Rails 3.1 和 4 中,ActiveRecord::Migration::CommandRecorder 知道如何反转 rename_table 迁移,因此您可以执行以下操作:

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

(您仍然需要手动重命名文件。)

关于ruby-on-rails - 如何编写迁移来重命名 Rails 中的 ActiveRecord 模型及其表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/471416/

相关文章:

ruby-on-rails - ActiveRecord 查询中的日期时间算法 (PostgreSQL)

mysql - 将 SQL "Concat"转换为 Activerecord

ruby-on-rails - rails 4 : how to implement a column with multiple elements

ruby-on-rails - RubyOnRails Rake 测试失败

php - 用 PHP 编写 MySQL 数据库查找/替换脚本

node.js - AdonisJs 多对多迁移解决方案

ruby-on-rails - View可以在Rails中调用某些Model方法吗?

html - 如何使用 gem htmltoword 在 Rails 中放置页眉和页脚?

ruby-on-rails - 简单的表格空白标签

null 对象的 java.lang.NullPointerException : while trying to invoke the method com. sap.isa.core.eai.BackendConfig.getId()