11

Symfony 2.3 を使用してアプリケーションを開発していますが、これはさまざまな顧客にインストールする必要があります。さまざまな機能を提供するので、機能/バンドルをメインアプリから分離し、composer を使用してプロジェクトにロードするという考え方です。バージョン間で DB の変更を維持するために Doctrine Migrations を使用しているため、バンドルからそれらを使用する方法がわかりません。Capifony を使用してアプリをライブ サーバーにデプロイします。

だから私の質問は...どのように作曲家がロードしたバンドルからの移行の実行を自動化できますか?

4

3 に答える 3

5

最終的に、バンドル内の定義済みディレクトリからすべての移行ファイルをデフォルトの場所にコピーするコマンドを作成し、コマンド内から doctrine:migrations:migrate を実行しました。

于 2013-11-14T15:19:34.940 に答える
2

複雑な展開には、ping を使用しました。彼は Symfony コンソールと簡単に統合できます。しかし、最終的には、Synfony コンソールで単純なコードを使用します。Composer は Symfony アプリのコマンドを「post-install-cmd」として簡単に呼び出すことができます

于 2013-11-08T08:46:03.423 に答える
1

ここで「作曲家がロードしたバンドル」が問題になるとは思いません。たとえば、src/(アプリまたはサブモジュールの一部) に複数のバンドルがあり、まったく同じ問題が発生する可能性があります。問題は、異なるバンドルに対して複数のエンティティ マネージャーとデータベースを使用することです。それらが実際に存在する場所は些細なことです。

とにかく、私はまったく同じ問題を抱えています。いくつかの検索の後、実際にこれを修正するオープン プル リクエストがあることを発見しました: https://github.com/doctrine/DoctrineMigrationsBundle/pull/46

私はそれがすぐに修正されることを願っています!

于 2013-10-25T17:41:33.200 に答える