mysql - 为什么我在 Perl Catalyst 的两个克隆实例之一上收到 DBIx "No such relationship"错误?

标签 mysql perl web-applications relationship catalyst

我在新服务器上复制了 Perl Catalyst Web 应用程序,确保 Catalyst、MySQL 和所有必需的 Perl 模块在两台服务器上具有相同的版本。但当我尝试登录一台服务器时,我不断收到奇怪的 DBIx 错误消息。

这是错误。

[error] DBIx::Class::ResultSet::search(): No such relationship committee_members on Committee at /mnt/data/www/apps/org/script/../lib/org/Controller/Users.pm line 57 [debug] Response Code: 500; Content-Type: text/html; charset=utf-8; Content-Length: 204782

该关系明确存在于数据库中。还有其他人遇到过这个问题吗?

感谢任何帮助。

最佳答案

这就是问题所在 - 模块 DBIx::Class::Schema::Loader 不是最新的。

原始版本的催化剂和相关模块与代码一起工作得很好(使用旧时代的关系/表命名法),但一些模块(不是全部)在过程中进行了更新,破坏了上述模块的向后兼容性。当它也更新时,会报告警告并自动解析关系名称(我仍然需要查看详细信息..)。

它能够解决中间版本中遗漏的一些向后兼容性问题。 看 http://metacpan.org/pod/DBIx::Class::Schema::Loader::Manual::UpgradingFromV4

关于mysql - 为什么我在 Perl Catalyst 的两个克隆实例之一上收到 DBIx "No such relationship"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12465489/

相关文章:

c++ - 正则表达式中的配对字符

perl - Term::Cap: "key up"不起作用

tomcat - 如何在 Tomcat 中设置每个 webapp 不同的代理?

debugging - 你如何调试你的 facebook 应用程序?

grails - 如何在 grails View /站点中自动更新/刷新?

mysql - mysql大表如何正确使用索引?

python - 重置 Django 表单

php - 关于 php post 操作未运行的建议

linux - 结束 perl 脚本而不等待系统调用返回

mysql - 在mysql中将月份名称显示为列名称