在文件db/migrate
夹中添加迁移文件并运行rake db:migrate
后,我想回到上一步,我认为 usingVERSION=n
是正确的方法,但我不知道要使用的 n 的正确值。是否有任何命令可以检查当前的 n 值?
如果有人可以提供有关如何使用的完整说明,那就太好了rake db:migrate
。
在文件db/migrate
夹中添加迁移文件并运行rake db:migrate
后,我想回到上一步,我认为 usingVERSION=n
是正确的方法,但我不知道要使用的 n 的正确值。是否有任何命令可以检查当前的 n 值?
如果有人可以提供有关如何使用的完整说明,那就太好了rake db:migrate
。
回滚最近的迁移:
rake db:rollback
回滚n
最近的迁移:
rake db:rollback STEP=n
您可以在Rails 运行迁移指南中找到有关使用 Rails 迁移任务进行 rake 的完整说明。
这里还有一些:
rake db:migrate
- 运行所有尚未运行的迁移rake db:migrate VERSION=20080906120000
- 运行所有必要的迁移(向上或向下)以获取给定版本rake db:migrate RAILS_ENV=test
- 在给定的环境中运行迁移rake db:migrate:redo
- 回滚一次迁移并再次运行rake db:migrate:redo STEP=n
- 回滚最后的n
迁移并再次运行它们rake db:migrate:up VERSION=20080906120000
- 运行up
给定迁移的方法rake db:migrate:down VERSION=20080906120000
- 运行down
给定迁移的方法并回答有关从何处获得迁移版本号的问题:
版本是迁移文件名的数字前缀。例如,要迁移到版本 20080906120000 运行
$ rake db:migrate VERSION=20080906120000
(来自Rails 指南中的运行迁移)
最好的方法是通过使用 down 或 up 再次运行特定迁移(在 rails 4 中。它的变化)
rails db:migrate:up VERSION=timestamp
现在你如何获得时间戳。走这条路
/db/迁移
确定要还原的迁移文件。从该文件名中选择时间戳。
如果版本是20150616132425
,则使用:
rails db:migrate:down VERSION=20150616132425
其他人已经回答了您如何回滚,但您也询问了如何识别迁移的版本号。
rake db:migrate:status
列出您的迁移版本、名称和状态(向上或向下)/db/migrate
try {
$result=DB::table('users')->whereExists(function ($Query){
$Query->where('id','<','14162756');
$Query->whereBetween('password',[14162756,48384486]);
$Query->whereIn('id',[3,8,12]);
});
}catch (\Exception $error){
Log::error($error);
DB::rollBack(1);
return redirect()->route('bye');
}