如何从 php artisan 迁移中获取结果 mysql 指令

How to get resultant mysql instructions from php artisan migrate

我想知道是否有办法从命令 php artisan 迁移中获取结果 mysql 指令。

这是必需的,因为在我的生产服务器上,我可以从 PhpMyAdmin 运行 mysql 命令,但不允许 运行 终端脚本。

所以我的想法是 运行 php artisan 迁移到我的本地环境,并得到生成的 mysql 指令以在生产环境中导入 "by hand"。

尝试通过代码调用 Artisan 命令:

Route::get('/migrate', function () {
    Artisan::call('migrate', [
        '--force' => true,
    ]);
})->middleware(['admin']);

https://laravel.com/docs/5.1/artisan#calling-commands-via-code

您可以从 @maximl337 提到的代码中调用 Artisan,但如果您只想查看将要执行的显示 SQL(没有 运行 它),你可以这样使用 --pretend 选项:

php artisan migrate --pretend

您将通过这种方式获得将要执行的整个 SQL 运行 迁移。