我刚刚安装了devise,所以表中除了一个用户(我)之外没有任何数据。
我重新做了一遍数据库,所以我把它都扔掉了。我做了rails g scaffold来生成6个新的模型和控制器,还做了rake db:migrate
在我的/db/migrate目录中有一个文件名为20130603211907_devise_create_users.rb的devise文件
问题是:如果我使用rake db:migrate:down VERSION=20130603211907,它将删除所有新的迁移。
如何在不删除所有较新的迁移的情况下再次运行迁移?
发布于 2013-06-07 17:52:41
如果你是在本地开发,并且从你的模型中删除所有数据不会有什么坏处,你可以简单地drop你的数据库,然后从头开始create & migrate:
发布于 2013-06-07 17:52:41
它将依次运行down和up步骤(此命令可以删除您的表!):
rake db:migrate:redo VERSION=xxxxxxx
为了防止您的表被删除,您可以结合临时注释掉 down step来执行此操作。
发布于 2013-06-07 18:04:14
感谢大家的帮助。这是对我有效的方法:
警告:这些命令将删除数据库中的所有数据!
rake db:drop
rake db:create
rake db:migratehttps://stackoverflow.com/questions/16981071
复制相似问题