我正在使用 Deployer 将我的 Symfony 应用程序部署到生产环境。一切正常,但是,我的 deploy.php 文件包含用于数据库迁移的命令:
/**
* Run a diff to generate migrations,
*/
task('database:diff', function () {
run('{{bin/php}} {{release_path}}/' . trim(get('bin_dir'), '/') . '/console doctrine:migrations:diff --env={{env}} --no-debug --no-interaction');
})->desc('Generate migrations database');
...
after('deploy:symlink','database:diff');
after('database:diff','database:migrate');
但是,如果数据库没有更改,则此步骤会导致错误。
错误信息:
[RuntimeException]
[Doctrine\DBAL\Migrations\MigrationException]
Could not find any migrations to execute.
我正在寻找一些可以检查任何数据库更改并且仅在有更改时有条件地运行迁移任务的代码。