Catalyst::Plugin::AutoCRUD을 사용 중이며 링크 된 CPAN 페이지에 제공된 지시 사항을 사용하여 DBIx 스키마를 생성 중입니다. 특히, 거기에 나열된 명령을 복사/붙여 넣기하고 내 데이터베이스와 관련된 세부 정보 만 변경했습니다 ('pg'=> 'mysql', 다른 사용자 이름/pw 등).Catalyst가 DBIx 생성 스키마를 승인하지 않음
이제 DBIC :: Database :: foo :: Schema 스키마가 있습니다. 스키마는 내 DB의 각 테이블에 대한 * .pm을 포함하는 파일이며 자체 Schema.pm입니다.
내 설정 파일에 다음 항목이 포함되어
<Model::AutoCRUD::DBIC>
schema_class Database::foo::Schema
connect_info dbi:mysql:dbname=foo
connect_info user
connect_info pass
<connect_info>
AutoCommit 1
</connect_info>
</Model::AutoCRUD::DBIC>
나는 AutoCRUD 서버를 시작으로 이동, 나는 다음과 같은 오류 메시지가 얻을 : 나는 촉매이 새로운 오전으로
Couldn't instantiate component "DemoApp::Model::AutoCRUD::DBIC", "Attribute (schema_class)
does not pass the type constraint because: Validation failed for
'Catalyst::Model::DBIC::Schema::Types::SchemaClass' with value Database::foo::Schema at
/Library/Perl/5.12/darwin-thread-multi-2level/Moose/Meta/Attribute.pm line 1275.
을 플러그인,이 문제를 해결하는 방법을 모르겠습니다. Google은 매우 도움이되지 못했습니다. this 토론을 찾았지만, 문제를 말할 수있는 것으로부터 촉매가 잘못된 * .pm으로 지적되고 있다는 것입니다. (내가 잘못 읽었을 지 모르지만). 경우
이 도움이된다, 여기 Schema.pm의 내용은 다음과 같습니다
use utf8;
package DBIC::Database::foo::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;
# Created by DBIx::Class::Schema::Loader v0.07024 @ 2012-05-20 07:25:21
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:cevz/k4rUWIcEhMl29r0QA
# You can replace this text with custom code or comments, and it will be preserved on regeneration
1;
이 도와주세요!
감사합니다. 그것은이 기사를 쓰는 오타였습니다. – learner