1

我有一个正在运行的 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;

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

4

1 回答 1

3

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

您可以perl -c在新的类文件上使用,以确保它们能够编译并更好地了解问题(如果没有的话)。

于 2012-11-28T04:48:14.013 回答