如何知道将要回滚什么?

时间:2016-04-02 14:22:21

标签: laravel laravel-5.2

尽管迁移回滚很简单,但它可能会导致生产数据库的灾难。

我确信在我的情况下它只会回滚最后一个迁移文件,但是我不能仔细检查这个事实吗?

是否有一个命令可以告诉我在运行migrate时会回滚哪些迁移文件:rollback?

2 个答案:

答案 0 :(得分:2)

没有这样的命令,但你可以create your own command(这真的是一个非常简单的任务,需要花费5分钟)并对迁移表使用简单查询,例如:

public function handle()
{
    $lastMigration = \DB::table('migrations')->orderBy('batch', 'DESC')->first();
    $lastBatch = $lastMigration->batch; // last batch ID
    $migrations = \DB::table('migrations')->where('batch', $lastBatch);
    foreach ($migrations as $migration) {
        $this->info($migration->migration); // output current migration name to cli
    }
}

答案 1 :(得分:2)

你可以查看批量'数据库中迁移表的批处理列中的数字。最新一批迁移将被回滚。