将迁移文件添加到 db/migrate
文件夹并运行 rake db:migrate
后,我想回到之前的步骤,我认为使用 VERSION=n
是正确的方法,但我不知道要使用的正确 n 值。是否有任何命令可以检查当前的 n 值?
如果有人能提供有关如何使用 rake db:migrate
的完整说明,那就太好了。
将迁移文件添加到 db/migrate
文件夹并运行 rake db:migrate
后,我想回到之前的步骤,我认为使用 VERSION=n
是正确的方法,但我不知道要使用的正确 n 值。是否有任何命令可以检查当前的 n 值?
如果有人能提供有关如何使用 rake db:migrate
的完整说明,那就太好了。
回滚最近的迁移:
rake db:rollback
回滚最近的n
个迁移:
rake db:rollback STEP=n
以下是更多内容:
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
方法针对你关于如何获取迁移版本号的问题:
The version is the numerical prefix on the migration's filename. For example, to migrate to version 20080906120000 run
$ rake db:migrate VERSION=20080906120000
(来自Rails指南中的运行迁移)
最好的方法是再次运行特定的迁移,使用down或up命令(在Rails 4中有所改变)。
rails db:migrate:up VERSION=时间戳
现在你需要获取时间戳。 前往以下路径:
/db/migrate
找到你想要还原的迁移文件,并从文件名中获取时间戳。
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');
}