V.N*_*ice 3 database model-view-controller ruby-on-rails
基本上我不小心写了password_has而不是password_hash,我想通过rake db:rollback我可以做出相应的更改,然后做rake db:migrate和rake db:reset但是好像在mysql中没有发生变化..我不断收到错误. . 我该怎么办?理想情况下,我想破坏数据库并重新启动它,但它不会破坏它,因为当我这样做并尝试重新创建它时,它说它仍然有一个已创建的副本..我在这里疯了,请帮助我是一个新手!
您可以编写重命名迁移.生成它:
rails g migration RenameColumn
Run Code Online (Sandbox Code Playgroud)
接下来,在生成的迁移文件中应用以下代码以重命名该列:
class RenameColumn < ActiveRecord::Migration
def self.up
rename_column :table_name, :old_column, :new_column
end
def self.down
# rename back if you need
end
end
Run Code Online (Sandbox Code Playgroud)
运行迁移后,请避免将其回滚以进行修改.写一个新的来代替.
如果rake db:migrate给出错误,请尝试运行您需要的错误:
rake db:migrate:up VERSION=20130405061213
Run Code Online (Sandbox Code Playgroud)
只需替换正确的版本(它在您的迁移的文件名中).x