我错误地将列命名为hased_password而不是hashed_password。

如何使用迁移重命名此列来更新数据库架构?


当前回答

对于Ruby on Rails 4:

def change
    rename_column :table_name, :column_name_old, :column_name_new
end

其他回答

只需创建一个新的迁移,并在一个块中使用rename_column,如下所示。

rename_column :your_table_name, :hased_password, :hashed_password

请参阅“活动记录迁移”文档中的“可用转换”部分。

rename_column(table_name, column_name, new_column_name):

重命名列,但保留类型和内容。

对于Ruby on Rails 4:

def change
    rename_column :table_name, :column_name_old, :column_name_new
end

rails g迁移migrationName

因此,您转到生成的迁移并添加:

rename_column :table, :old_column, :new_column

到方法

若您的代码并没有和其他代码共享,那个么最好的选择就是只执行rakedb:rollback然后在migration和rakedb:migrate中编辑列名。就是这样

您可以编写另一个迁移来重命名列

 def change
    rename_column :table_name, :old_name, :new_name
  end

就是这样。