我們正在使用Zend框架開發大量的PHP Web應用程序。什麼是好的數據庫模型定義語言?
目前,產品已開始趨於穩定,我們正在擺脫快速骯髒的設置,以避免迴歸。特別是,我們現在正在研究每個人都編輯的單個共享數據庫。我們想盡快擺脫這種情況。
Zend框架似乎不支持經典的RAD(Djangoish)機制,您可以在其中定義數據模型,然後爲您創建表格。所以我們正在考慮使用一個外部的ORM工具來做到這一點。
我們可以在純SQL中定義我們的模式和初始固定設備,但這是a)詳細的b)容易出錯的c)太低的級別d)有問題,因爲我們必須爲每個受支持的數據庫後端維護不同的版本。
因此,我們正在考慮使用像Doctrine或Propel這樣的ORM來定義我們的模型並使用所選框架的方言創建具有其初始數據的表。應用程序使用Zend工具進行ORMing,因此兩個工具之間的一致性必須手動維護,但由於變化現在更加漸進,所以這看起來並不是什麼大問題。
因此,目前爲止,我們正在評估Doctrine和Propel的這項任務。對我們錯過的其他ORM有何建議?手頭的任務可能完全採用不同的方法?
謝謝!
貢薩洛
僅供將來參考。我們最終使用Rails的ActiveRecord和一個名爲[standalone-migrations](https://github.com/thuss/standalone-migrations)的模塊。這些工具很好用,但與PHP應用程序一起分發是一件痛苦的事情。 Windows支持也非常煩人,因爲在Windows上安裝Ruby很糟糕。我們計劃在PHP中開發我們自己的等效工具。 – GomoX 2011-11-10 19:51:39
我們最終使用了教條,但它也不是很好。請參閱此處以獲取更多信息:http://stackoverflow.com/questions/9946585/are-doctrine-migrations-usable-in-production-applications?lq=1 – GomoX 2013-12-04 20:45:02