我在命名方面很糟糕,我意识到在我的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

我不得不手动重命名模型声明文件.

Edit:

在Rails 3.1和;4ActiveRecord::Migration::CommandRecorder知道如何反向重命名_表迁移,所以您可以这样做:

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

(你仍然需要浏览并手动重命名你的文件.)

Ruby-on-rails相关问答推荐

Rails HotWire和View Components:涡轮框架不会取代内容

Rails turbo流只更新页面上的一个元素

确定当前太平洋时区是PST还是PDT

尽管安装并需要 pry-rails gem,但 Rails 容器内出现未定义方法‘pry’错误

使用拆分成多个部分的种子文件进行Rails数据种植

具有 IN 子句的参数化查询在 ruby​​-on-rails 的 blazer 工具中无法按预期工作

select2 未应用于所有下拉列表;它只适用于数据的最后一条记录

如何验证 Rails 中的多态字段关联?

有没有一种简单的方法可以让 pow 为 https 服务?

在一行中更改多个对象属性

fields_for 表单构建器对象为零

Rails 和 OS X:如何安装 rmagick?

如何在where子句中组合两个条件?

按周/月/等和 ActiveRecord 分组?

rails 单数资源还是复数?

快速添加链接[:notice]

禁用 JS/Ajax 请求时的 ActionController::InvalidAuthenticityToken

Test::Unit Rails - 如何断言一个数字大于另一个?

向 Rails 模型添加外键

Rails 在 id 字段上重置种子的方法