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.
。
私はこのアプローチに関する簡単な質問がありますか?私は非常に似ていますが、私は不思議に思っていました...あなたはどのように展開を使用してロールバックを実行するのですか?つまり、私たちが展開したばかりのバージョン5、2つの移行が実行されたと仮定して、バージョン4にロールバックしたいのですが、これは何とか自動化されていますか? – user1970395