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 に答える