2013-10-25 68 views
8

我開發一個應用程序,使用Symfony的2.3,這將必須安裝針對不同的客戶。我們將提供不同的功能,因此我們的想法是將功能/軟件包與主應用程序分開,並使用composer將其加載到項目中。由於我們正在使用Doctrine Migrations來維護不同版本的數據庫更改,因此我不確定如何從捆綁軟件中使用它們。我們正在使用Capifony將應用程序部署到實時服務器。如何處理教義遷移捆

所以我的問題是...我怎樣才能使自動化從作曲家裝包遷移的執行?

回答

3

我最終創建了一個命令,將所有遷移文件從bundle中的預定義目錄複製到默認位置,然後執行doctrine:migrations:migrate from在命令之內。

+0

請分享您的解決方案嗎? – CoKe

1

我不認爲「作曲裝包」是這裏的問題。例如,您可能在src/(應用程序或子模塊的一部分)中有幾個包,並且具有完全相同的問題。問題在於爲您的不同捆綁包提供多個實體管理器和數據庫。他們實際居住的地方是微不足道的。

不管怎麼說,我有完全相同的問題。經過一番搜索,我發現居然有一個開放的拉請求解決這個問題:https://github.com/doctrine/DoctrineMigrationsBundle/pull/46

我希望它得到儘快解決!

+0

你是對的......這不是關於作曲家安裝捆綁。儘管我對所有捆綁使用了相同的實體管理器和DB。 – Michi

2

對於一個複雜的部署,我用phing。他很容易與Symfony控制檯集成。但最後我在Synfony控制檯上使用了一個簡單的代碼。 作曲家可以很容易地將Symfony應用程序命令作爲「安裝後cmd」調用

+0

另外我認爲你可以擴展Composer \ Command \ InstallCommand – nonlux

+0

我使用Capifony進行部署。所以我會去找一個新的命令來處理bundle-wise數據庫遷移。 – Michi

相關問題