2012-09-17 18 views
0

我在新的服務器上覆制了Perl催化劑Web應用程序,確保催化劑,MySQL和所有必需的Perl模塊在兩個服務器上具有相同的版本。但是當我嘗試在一臺服務器上登錄時,我不斷收到奇怪的DBIx錯誤消息。爲什麼在perl Catalyst的兩個克隆實例之一上出現DBIx「No such relationship」錯誤?

這是錯誤。

[錯誤] DBIx ::類::結果集::搜索():在 沒有這樣的關係上委員會 committee_members /mnt/data/www/apps/org/script/../lib/org /Controller/Users.pm line 57 [debug]響應代碼:500;內容類型:text/html;字符集= UTF-8; 內容長度:204782

該關係在數據庫中清楚地存在。其他人遇到過這個問題嗎?

任何幫助表示讚賞。

+2

它存在於數據庫中,它存在於您的DBIx :: Class代碼中嗎? – friedo

+0

這不是在談論數據庫中的某些內容,而是在談論項目中定義的關係。 – ikegami

回答

1

這是問題 - 模塊DBIx :: Class :: Schema :: Loader不是最新的。

原始版本的催化劑和相關模塊可以很好地與代碼一起工作(與舊時代的關係/表命名法一致),但是一些模塊(並非全部)在打破上述模塊的後向兼容性的方式上進行了更新。當它也被更新時,警告被報告並且關係名稱自動解決(我仍然需要看到細節..)。

它能夠解決中間版本中遺漏的一些後向兼容性問題。 請參閱 http://metacpan.org/pod/DBIx::Class::Schema::Loader::Manual::UpgradingFromV4

相關問題