Dancer DBIC无法加载schema_class

时间:2012-11-28 02:52:44

标签: perl dancer

我有一个正在运行的Dancer应用。我正在使用DBIC作为数据库。

我想在数据库中添加一些表,因此我为这些表创建了新文件。但是,现在当我重新启动应用程序时,我收到以下错误

Error while loading ././bin/app.pl: Could not load schema_class MyApp::Schema at /usr/local/share/perl/5.14.2/Dancer/Plugin/DBIC.pm line 42.
Compilation failed in require at ././bin/app.pl line 5.
BEGIN failed--compilation aborted at ././bin/app.pl line 5.

当我删除新文件时,一切正常。

这是我的Schema.pm文件

package MyApp::Schema;

# Created by DBIx::Class::Schema::Loader
# DO NOT MODIFY THE FIRST PART OF THIS FILE

use strict;
use warnings;

use base 'DBIx::Class::Schema';

__PACKAGE__->load_namespaces;

1;

我在哪里可以获得有关错误的更多信息以及我做错了什么?

1 个答案:

答案 0 :(得分:3)

由于您使用__PACKAGE__->load_namespaces,所有新类都将被加载,这解释了为什么新类文件的简单存在会导致错误。如果新类文件中存在语法错误,则加载架构将会死亡。

您可以对新的类文件使用perl -c,以确保它们能够编译并更好地了解问题,如果不这样做的话。