我错误地将列命名为hased_password而不是hashed_password。
如何使用迁移重命名此列来更新数据库架构?
我错误地将列命名为hased_password而不是hashed_password。
如何使用迁移重命名此列来更新数据库架构?
当前回答
您可以编写迁移,运行以下命令以更新列名:
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
def change
rename_column :table_name, :old_column_name, :new_column_name
end
生成RubyonRails迁移:
$:> rails g migration Fixcolumnname
在迁移文件中插入代码(XXXXX fixcolumnname.rb):
class Fixcolumnname < ActiveRecord::Migration
def change
rename_column :table_name, :old_column, :new_column
end
end
Rails 5迁移更改
eg:
rails g model学生Student_name:字符串年龄:整数
如果要将student_name列更改为name
注意:-如果没有运行railsdb:migrate
您可以执行以下步骤
rails d model学生Student_name:字符串年龄:整数
这将删除生成的迁移文件,现在您可以更正列名
rails g model学生姓名:string年龄:整数
如果已迁移(railsdb:migrate),请使用以下选项更改列名
rails g迁移RemoveStudentNameFromStudent student_name:字符串rails g迁移AddNameToStudent名称:字符串
在控制台中:
rails generate migration newMigration
在newMigration文件中:
class FixColumnName < ActiveRecord::Migration
def change
rename_column :table_name, :old_column, :new_column
end
end