【问题标题】:Rails: Editing Model ColumnRails:编辑模型列
【发布时间】:2012-11-09 12:18:35
【问题描述】:

我不确定为什么会这样,但其中一列以大写字母开头。我有点担心通过迁移来改变它,因为受影响的列是 'comment_id' 列,而 Comment 是这个模型的父级。

 id | has_voted | Comment_id | created_at | updated_at
----+-----------+------------+------------+------------
(0 rows)

这属于评论模型。可以删除 Comment_id 并通过生成新的迁移来简单地添加 comment_id 列吗?还是我应该在其他地方修复它?

【问题讨论】:

  • 如果你删除列,其中的数据将会丢失(除非你先复制它)。
  • 没关系,因为我还没有任何数据。那么在这种情况下是否可以删除它并添加正确的列?
  • 或者您可以重命名该列:api.rubyonrails.org/classes/ActiveRecord/Migration.html。我不确定在这种情况下它将如何工作。列名区分大小写吗?

标签: ruby-on-rails model


【解决方案1】:

您可以生成一个新的迁移文件:

  rails g migration FixColumnName

现在,编辑文件../migrate/fix_column_name.rb 并将table_name 更改为您的表的真实名称。

  class FixColumnName < ActiveRecord::Migration
    def change
    rename_column :table_name, :Comment_id, :comment_id
    end
  end

来源:How can I rename a database column in a Ruby on Rails migration?

【讨论】:

    猜你喜欢
    • 2011-06-05
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-27
    • 2018-03-28
    • 1970-01-01
    相关资源
    最近更新 更多