將PropelORM設置爲與多個數據庫一起使用時,我遇到了一些問題。我在文檔中找不到任何有用的東西。PropelORM v1多個數據庫
從多個數據庫中生成模式
我更願意做出改變數據庫模式,然後再運行
$ propel-gen . reverse
得到schema.xml中。如果我的系統包含多個數據庫會怎麼樣?它可以生成多個模式嗎?我知道從文檔buildtime-conf.xml必須創建,但它對我沒有任何幫助。
生成類
比方說,我創建了不同的模式blog.schema.xml和platform.schema.xml。是否有可能:
對每個模式都有不同的類前綴?在build.properties我可以設置
propel.classPrefix
,但這將工作全局爲每個模式。爲每個模式有不同的項目名稱?再次在build.properties我可以設置
propel.project
,這將在classes目錄中創建一個特定的目錄。現在所有的班級都會去同一個地方。如果我將在兩個模式中使用相同的表名,則一個類將覆蓋另一個類。
我可以來我自己的解決方案是有2名不同的目錄設置爲某個特定數據庫,但是我寧願更優雅的解決方案。
這些資源可能會有所幫助: http://propelorm.org/cookbook/using-sql-schemas.html http://trac.propelorm.org/ticket/940 –
謝謝霧。文件很清楚,但是當我開始遵循指南時,它們都以不同的方式運作。手冊中提到了關於propel.schema.autoPrefix參數。它不會爲我自動添加前綴類。它爲我做的唯一的事情是當propel.schema.autoNamespace設置爲TRUE時,它將它覆蓋爲FALSE(可能不是直接的,但這是結果)。 –
軟件包http://propelorm.org/cookbook/multi-component-data-model.html也不按照文檔工作。它說,如果你在DATABASE級別上設置包,它將在classes/my_project/package_name中創建文件,而對於我而言,它不會創建my_project目錄,所有包直接進入類。爲了清楚我從git獲得了最新版本的propel1。 –