我在新服务器上复制了Perl催化剂Web应用程序,以确保催化剂,MySQL和所有必需的Perl模块在两个服务器上都具有相同的版本。但是,当我尝试在一台服务器上登录时,我总是收到奇怪的DBIx错误消息。
这是错误。
[错误] DBIx :: Class :: ResultSet :: search():没有此类关系
委员会_委员会成员
/mnt/data/www/apps/org/script/../lib/org/Controller/Users.pm第57行
[调试]响应代码:500;内容类型:text / html; charset = utf-8;
内容长度:204782
该关系显然存在于数据库中。其他人遇到过这个问题吗?
任何帮助表示赞赏。
最佳答案
这就是问题所在-模块DBIx :: Class :: Schema :: Loader不是最新的。
原始版本的催化剂和相关模块可以按原样使用代码(具有以前的关系/表命名法),但是某些模块(并非全部)在打破上述模块的向后兼容性的方式下进行了更新。当更新时,也会报告警告并自动解析关系名称(我仍然需要查看详细信息。)。
它能够解决中间版本中未包含的一些向后兼容问题。
看到
http://metacpan.org/pod/DBIx::Class::Schema::Loader::Manual::UpgradingFromV4
关于mysql - 为什么在perl Catalyst的两个克隆实例之一上出现DBIx“无此类关系”错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12465489/