我是一個symfony(1.4 + Doctrine)的初學者,但有一點讓我感到害怕。似乎每當想要更改模型時,唯一的方法是更改數據庫的模式(config/doctrine/schema.yml
),然後調用symphony doctrine:build
,,這會刷新數據庫中的所有當前數據。在symfony中修改數據庫(doctrine)
這在我看來並不是一種理智的方式。如果一年後我的應用程序在製作中,我決定我的用戶需要能夠將他們的Facebook頁面添加到配置文件中?在其他框架中(我習慣CakePHP),只需在users
表中添加一個字段並修改模型文件和配置文件視圖即可。在symfony中......我不知道,這就是我在這裏問的原因。我相信我錯過了一些東西,因爲symfony設計師肯定已經考慮過在發佈後可能需要重構應用程序的想法。什麼是正確的方法來做到這一點?
謝謝。它似乎比需要更復雜,特別是對於簡單的修改,但我認爲它會做。 – Andrea 2010-09-17 10:35:32
另一種方法是手動更改數據庫並更改模式,但運行doctrine:build有不同的選項。如果你做「./symfony doctrine:build --all-classes」,它會更新模型,表單和過濾器類,但不會觸及數據庫。這不是做這件事的最好方法,但會在一個緊要關頭工作。 – lonesomeday 2010-09-17 11:22:28
非常感謝:我猜這兩個選項都有它們的用處。可以手動進行快速更改,並使用Migrations的幫助進行更復雜的操作。 – Andrea 2010-09-17 23:08:34