2012-01-23 37 views
0

我使用的是propel orm作爲數據庫抽象層。 我想爲不同的模塊定義不同的schema.xml文件。 例如用於處理用戶和角色的user.xml.schema或用於應用程序模型的app.schema.xml。用外部模式驅動錯誤的表前綴

我的問題是,我想引用user.schema.xml的用戶表。我可以通過標記處理這個問題,但我想爲用戶模式表使用另一個表前綴。 運行propel-gen會創建兩個sql文件(一個用於user.schema,另一個用於app.schema),但問題是用戶模式表會生成兩次。首先使用用戶模式文件的正確表前綴,其他使用應用模式文件的前綴。 外鍵還引用了錯誤的表(即來自具有app.schema.xml前綴的表)。

我不知道任何方式來防止這種行爲。 任何提示?

回答

1

不能爲一個數據庫添加不同的表前綴,也無法在table標記上添加tablePrefix屬性。讓我再解釋一下,我知道,即使對於同一個數據庫,也可以爲每個XML模式指定一個tablePrefix,但是如果嘗試添加關係,則會導致錯誤。我不知道它是否是bug,AFAIK在tablePrefix應在table水平......沒有關係被定義,你會得到一個乾淨的SQL文件(或兩個,如果你不將propel.packageObjectModel構建屬性設置爲true

你可以閱讀:。http://www.propelorm.org/reference/schema.html所以我認爲 順便說一下,你想實現什麼在Propel doc中被稱爲multi component data model

+0

Thanx用於多分量數據模型的提示我已經把dis在我的控制器類中重新加載其他模式的對象。 SQL現在好了,這樣我就可以像我想要的那樣處理它了。 –