我错误地将列命名为hased_password而不是hashed_password。
如何使用迁移重命名此列来更新数据库架构?
我错误地将列命名为hased_password而不是hashed_password。
如何使用迁移重命名此列来更新数据库架构?
当前回答
运行rails g migration ChangesNameInUsers(或任何您想命名的名称)
打开刚刚生成的迁移文件,并在方法中添加此行(在def change和end之间):
重命名列:表名,:名称you_want_to_change,:新名称
保存文件,并在控制台中运行rakedb:migrate
检查你的schema.db,看看数据库中的名称是否真的改变了!
希望这有帮助:)
其他回答
只需创建一个新的迁移,并在一个块中使用rename_column,如下所示。
rename_column :your_table_name, :hased_password, :hashed_password
首先你需要跑步
rails g migration create_new_column_in_tablename new_column:datatype
rails g migration remove_column_in_tablename old_column:datatype
然后需要检查db/migration您可以检查nem迁移中的详细信息,如果所有详细信息都正确,则需要运行:
rails db:migrate
rails g迁移migrationName
因此,您转到生成的迁移并添加:
rename_column :table, :old_column, :new_column
到方法
运行以下命令以创建迁移文件:
rails g migration ChangeHasedPasswordToHashedPassword
然后在db/migrate文件夹中生成的文件中,按如下方式写入rename_column:
class ChangeOldColumnToNewColumn < ActiveRecord::Migration
def change
rename_column :table_name, :hased_password, :hashed_password
end
end
def change
rename_column :table_name, :old_column_name, :new_column_name
end