我有一个正在运行的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;
我在哪里可以获得有关错误的更多信息以及我做错了什么?
答案 0 :(得分:3)
由于您使用__PACKAGE__->load_namespaces
,所有新类都将被加载,这解释了为什么新类文件的简单存在会导致错误。如果新类文件中存在语法错误,则加载架构将会死亡。
您可以对新的类文件使用perl -c
,以确保它们能够编译并更好地了解问题,如果不这样做的话。