2011-05-23 125 views
1

我們正在使用Zend框架開發大量的PHP Web應用程序。什麼是好的數據庫模型定義語言?

目前,產品已開始趨於穩定,我們正在擺脫快速骯髒的設置,以避免迴歸。特別是,我們現在正在研究每個人都編輯的單個共享數據庫。我們想盡快擺脫這種情況。

Zend框架似乎不支持經典的RAD(Djangoish)機制,您可以在其中定義數據模型,然後爲您創建表格。所以我們正在考慮使用一個外部的ORM工具來做到這一點。

我們可以在純SQL中定義我們的模式和初始固定設備,但這是a)詳細的b)容易出錯的c)太低的級別d)有問題,因爲我們必須爲每個受支持的數據庫後端維護不同的版本。

因此,我們正在考慮使用像Doctrine或Propel這樣的ORM來定義我們的模型並使用所選框架的方言創建具有其初始數據的表。應用程序使用Zend工具進行ORMing,因此兩個工具之間的一致性必須手動維護,但由於變化現在更加漸進,所以這看起來並不是什麼大問題。

因此,目前爲止,我們正在評估Doctrine和Propel的這項任務。對我們錯過的其他ORM有何建議?手頭的任務可能完全採用不同的方法?

謝謝!

貢薩洛

+1

僅供將來參考。我們最終使用Rails的ActiveRecord和一個名爲[standalone-migrations](https://github.com/thuss/standalone-migrations)的模塊。這些工具很好用,但與PHP應用程序一起分發是一件痛苦的事情。 Windows支持也非常煩人,因爲在Windows上安裝Ruby很糟糕。我們計劃在PHP中開發我們自己的等效工具。 – GomoX 2011-11-10 19:51:39

+0

我們最終使用了教條,但它也不是很好。請參閱此處以獲取更多信息:http://stackoverflow.com/questions/9946585/are-doctrine-migrations-usable-in-production-applications?lq=1 – GomoX 2013-12-04 20:45:02

回答

1

我真的很喜歡RedBean。您將數據庫模型保存在純php中,並且可以跟蹤所有內容。

RedBeanPHP是PHP的開源ORM工具 。它側重於簡單性和易用性。是什麼讓RedBean獨特的 是它在即時創建數據庫 架構。它會掃描您的數據 並調整列類型以適應您的對象屬性。如果您的型號 已穩定,您可以凍結 數據庫。通過這種方式,RedBean很容易在生產服務器上快速開發,但也極其快速。

由於我找到了這個ORM,我不再使用原則。

http://redbeanphp.com/

+0

完全同意。 Redbeans允許以您想要的方式完全內部化您的數據對象/模式定義,並且在維護和配置方面非常輕量級。使用RedBeans時無需維護SQL數據庫。 – Yann 2014-09-19 12:24:24