[Catalyst] Something wrong in Catalyst::Model::DBIC::Schema?

Oleg Kostyuk cub.uanic at gmail.com
Fri Feb 25 10:13:10 GMT 2011


Your model was generated by old DBIx::Class::Schema::Loader. Look at
http://cpansearch.perl.org/src/RKITOVER/DBIx-Class-Schema-Loader-0.07008/Changes
and search for "moose" for more details.

For fix, simply delete "use MooseX::NonMoose" from your schema class
(PTest::Schema).

HTH


2011/2/25 Alex Povolotsky <tarkhil at over.ru>:
> Hello!
>
> Freshly created application with out-of-the-box
> Catalyst::Model::DBIC::Schema-based model (nothing except creation with
> helper)fails to run, all modules are fresh.
>
> Application just does not run. Have I missed something?
>
>> ./script/ptest_server.pl
> Couldn't load class (PTest) because: Couldn't instantiate component
> "PTest::Model::Db", "Couldn't load class (PTest::Schema) because: Can't call
> method "isa" on an undefined value at
> /usr/local/lib/perl5/site_perl/5.12.3/MooseX/NonMoose/Meta/Role/Class.pm
> line 40.
> Compilation failed in require at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP.pm line 114.
>  at /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP.pm line 120
>        Class::MOP::__ANON__('Can\'t call method "isa" on an undefined value
> at /usr/local/...') called at
> /usr/local/lib/perl5/site_perl/5.12.3/Try/Tiny.pm line 100
>        Try::Tiny::try('CODE(0x804965738)',
> 'Try::Tiny::Catch=REF(0x804ecf960)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP.pm line 125
>        Class::MOP::load_first_existing_class('PTest::Schema') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP.pm line 137
>        Class::MOP::load_class('PTest::Schema') called at
> /usr/local/lib/perl5/site_perl/5.12.3/Catalyst/Model/DBIC/Schema/Types.pm
> line 21
>        Catalyst::Model::DBIC::Schema::Types::__ANON__('PTest::Schema')
> called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Moose/Meta/TypeCoercion.pm line
> 63
>        Moose::Meta::TypeCoercion::__ANON__('PTest::Schema') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Moose/Meta/TypeCoercion.pm line
> 97
>
>  Moose::Meta::TypeCoercion::coerce('Moose::Meta::TypeCoercion=HASH(0x8049d6300)',
> 'PTest::Schema') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Moose/Meta/TypeConstraint.pm line
> 90
>
>  Moose::Meta::TypeConstraint::coerce('Moose::Meta::TypeConstraint=HASH(0x804e70b28)',
> 'PTest::Schema') called at
> /usr/local/lib/perl5/site_perl/5.12.3/MooseX/Types/TypeDecorator.pm line 206
>        eval {...} called at
> /usr/local/lib/perl5/site_perl/5.12.3/MooseX/Types/TypeDecorator.pm line 205
>
>  MooseX::Types::TypeDecorator::AUTOLOAD('MooseX::Types::TypeDecorator=HASH(0x804e8b0a8)',
> 'PTest::Schema') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Moose/Meta/Attribute.pm line 880
>
>  Moose::Meta::Attribute::_coerce_and_verify('Moose::Meta::Attribute=HASH(0x804e66a80)',
> 'PTest::Schema', 'PTest::Model::Db=HASH(0x804e72af8)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Moose/Meta/Attribute.pm line 483
>
>  Moose::Meta::Attribute::initialize_instance_slot('Moose::Meta::Attribute=HASH(0x804e66a80)',
> 'Moose::Meta::Instance=HASH(0x8049656c0)',
> 'PTest::Model::Db=HASH(0x804e72af8)', 'HASH(0x804e71ac8)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP/Class.pm line 603
>
>  Class::MOP::Class::_construct_instance('Moose::Meta::Class=HASH(0x804e841f8)',
> 'HASH(0x804e71ac8)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP/Class.pm line 576
>        Class::MOP::Class::new_object('Moose::Meta::Class=HASH(0x804e841f8)',
> 'HASH(0x804e71ac8)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Moose/Meta/Class.pm line 256
>
>  Moose::Meta::Class::new_object('Moose::Meta::Class=HASH(0x804e841f8)',
> 'HASH(0x804e71ac8)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Moose/Object.pm line 26
>        Moose::Object::new('PTest::Model::Db', 'PTest', 'HASH(0x804eb1d68)')
> called at generated method (unknown origin) line 3
>        Catalyst::Model::DBIC::Schema::new('PTest::Model::Db', 'PTest',
> 'HASH(0x804eb1d68)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/MooseX/Traits/Pluggable.pm line 139
>
>  MooseX::Traits::Pluggable::_build_instance_with_traits('PTest::Model::Db',
> 'PTest::Model::Db', 'PTest') called at
> /usr/local/lib/perl5/site_perl/5.12.3/MooseX/Traits/Pluggable.pm line 97
>        MooseX::Traits::Pluggable::new_with_traits('PTest::Model::Db',
> 'PTest', 'HASH(0x8048a54f8)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/CatalystX/Component/Traits.pm line 145
>        CatalystX::Component::Traits::COMPONENT('PTest::Model::Db', 'PTest',
> 'HASH(0x80489d780)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP/Method/Wrapped.pm line
> 48
>        Class::MOP::Method::Wrapped::__ANON__('PTest::Model::Db', 'PTest',
> 'HASH(0x80489d780)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP/Method/Wrapped.pm line
> 89
>        Catalyst::Model::DBIC::Schema::COMPONENT('PTest::Model::Db', 'PTest',
> 'HASH(0x80489d780)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/Catalyst.pm line 2523
>        eval {...} called at
> /usr/local/lib/perl5/site_perl/5.12.3/Catalyst.pm line 2523
>        Catalyst::setup_component('PTest', 'PTest::Model::Db') called at
> /usr/local/lib/perl5/site_perl/5.12.3/Catalyst.pm line 2450
>        Catalyst::setup_components('PTest') called at
> /usr/local/lib/perl5/site_perl/5.12.3/Catalyst.pm line 1179
>        Catalyst::setup('PTest') called at
> /usr/home/tarkhil/work/PTest/script/../lib/PTest.pm line 45
>        require PTest.pm called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP.pm line 114
>        Class::MOP::__ANON__() called at
> /usr/local/lib/perl5/site_perl/5.12.3/Try/Tiny.pm line 71
>        eval {...} called at
> /usr/local/lib/perl5/site_perl/5.12.3/Try/Tiny.pm line 67
>        Try::Tiny::try('CODE(0x801039690)',
> 'Try::Tiny::Catch=REF(0x803b65780)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP.pm line 125
>        Class::MOP::load_first_existing_class('PTest') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP.pm line 137
>        Class::MOP::load_class('PTest') called at
> /usr/local/lib/perl5/site_perl/5.12.3/Catalyst/ScriptRole.pm line 48
>
>  Catalyst::ScriptRole::_run_application('Catalyst::Script::Server=HASH(0x8025654f8)')
> called at /usr/local/lib/perl5/site_perl/5.12.3/Catalyst/Script/Server.pm
> line 179
>
>  Catalyst::Script::Server::run('Catalyst::Script::Server=HASH(0x8025654f8)')
> called at /usr/local/lib/perl5/site_perl/5.12.3/Catalyst/ScriptRunner.pm
> line 20
>        Catalyst::ScriptRunner::run('Catalyst::ScriptRunner', 'PTest',
> 'Server') called at ./script/ptest_server.pl line 8
>  at /usr/local/lib/perl5/site_perl/5.12.3/MooseX/Types/TypeDecorator.pm line
> 208
>
>  MooseX::Types::TypeDecorator::AUTOLOAD('MooseX::Types::TypeDecorator=HASH(0x804e8b0a8)',
> 'PTest::Schema') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Moose/Meta/Attribute.pm line 880
>
>  Moose::Meta::Attribute::_coerce_and_verify('Moose::Meta::Attribute=HASH(0x804e66a80)',
> 'PTest::Schema', 'PTest::Model::Db=HASH(0x804e72af8)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Moose/Meta/Attribute.pm line 483
>
>  Moose::Meta::Attribute::initialize_instance_slot('Moose::Meta::Attribute=HASH(0x804e66a80)',
> 'Moose::Meta::Instance=HASH(0x8049656c0)',
> 'PTest::Model::Db=HASH(0x804e72af8)', 'HASH(0x804e71ac8)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP/Class.pm line 603
>
>  Class::MOP::Class::_construct_instance('Moose::Meta::Class=HASH(0x804e841f8)',
> 'HASH(0x804e71ac8)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP/Class.pm line 576
>        Class::MOP::Class::new_object('Moose::Meta::Class=HASH(0x804e841f8)',
> 'HASH(0x804e71ac8)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Moose/Meta/Class.pm line 256
>
>  Moose::Meta::Class::new_object('Moose::Meta::Class=HASH(0x804e841f8)',
> 'HASH(0x804e71ac8)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Moose/Object.pm line 26
>        Moose::Object::new('PTest::Model::Db', 'PTest', 'HASH(0x804eb1d68)')
> called at generated method (unknown origin) line 3
>        Catalyst::Model::DBIC::Schema::new('PTest::Model::Db', 'PTest',
> 'HASH(0x804eb1d68)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/MooseX/Traits/Pluggable.pm line 139
>
>  MooseX::Traits::Pluggable::_build_instance_with_traits('PTest::Model::Db',
> 'PTest::Model::Db', 'PTest') called at
> /usr/local/lib/perl5/site_perl/5.12.3/MooseX/Traits/Pluggable.pm line 97
>        MooseX::Traits::Pluggable::new_with_traits('PTest::Model::Db',
> 'PTest', 'HASH(0x8048a54f8)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/CatalystX/Component/Traits.pm line 145
>        CatalystX::Component::Traits::COMPONENT('PTest::Model::Db', 'PTest',
> 'HASH(0x80489d780)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP/Method/Wrapped.pm line
> 48
>        Class::MOP::Method::Wrapped::__ANON__('PTest::Model::Db', 'PTest',
> 'HASH(0x80489d780)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP/Method/Wrapped.pm line
> 89
>        Catalyst::Model::DBIC::Schema::COMPONENT('PTest::Model::Db', 'PTest',
> 'HASH(0x80489d780)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/Catalyst.pm line 2523
>        eval {...} called at
> /usr/local/lib/perl5/site_perl/5.12.3/Catalyst.pm line 2523
>        Catalyst::setup_component('PTest', 'PTest::Model::Db') called at
> /usr/local/lib/perl5/site_perl/5.12.3/Catalyst.pm line 2450
>        Catalyst::setup_components('PTest') called at
> /usr/local/lib/perl5/site_perl/5.12.3/Catalyst.pm line 1179
>        Catalyst::setup('PTest') called at
> /usr/home/tarkhil/work/PTest/script/../lib/PTest.pm line 45
>        require PTest.pm called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP.pm line 114
>        Class::MOP::__ANON__() called at
> /usr/local/lib/perl5/site_perl/5.12.3/Try/Tiny.pm line 71
>        eval {...} called at
> /usr/local/lib/perl5/site_perl/5.12.3/Try/Tiny.pm line 67
>        Try::Tiny::try('CODE(0x801039690)',
> 'Try::Tiny::Catch=REF(0x803b65780)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP.pm line 125
>        Class::MOP::load_first_existing_class('PTest') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP.pm line 137
>        Class::MOP::load_class('PTest') called at
> /usr/local/lib/perl5/site_perl/5.12.3/Catalyst/ScriptRole.pm line 48
>
>  Catalyst::ScriptRole::_run_application('Catalyst::Script::Server=HASH(0x8025654f8)')
> called at /usr/local/lib/perl5/site_perl/5.12.3/Catalyst/Script/Server.pm
> line 179
>
>  Catalyst::Script::Server::run('Catalyst::Script::Server=HASH(0x8025654f8)')
> called at /usr/local/lib/perl5/site_perl/5.12.3/Catalyst/ScriptRunner.pm
> line 20
>        Catalyst::ScriptRunner::run('Catalyst::ScriptRunner', 'PTest',
> 'Server') called at ./script/ptest_server.pl line 8"Compilation failed in
> require at /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP.pm line 114.
>  at /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP.pm line 120
>        Class::MOP::__ANON__('Couldn\'t instantiate component
> "PTest::Model::Db", "Couldn\'...') called at
> /usr/local/lib/perl5/site_perl/5.12.3/Try/Tiny.pm line 100
>        Try::Tiny::try('CODE(0x801039690)',
> 'Try::Tiny::Catch=REF(0x803b65780)') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP.pm line 125
>        Class::MOP::load_first_existing_class('PTest') called at
> /usr/local/lib/perl5/site_perl/5.12.3/mach/Class/MOP.pm line 137
>        Class::MOP::load_class('PTest') called at
> /usr/local/lib/perl5/site_perl/5.12.3/Catalyst/ScriptRole.pm line 48
>
>  Catalyst::ScriptRole::_run_application('Catalyst::Script::Server=HASH(0x8025654f8)')
> called at /usr/local/lib/perl5/site_perl/5.12.3/Catalyst/Script/Server.pm
> line 179
>
>  Catalyst::Script::Server::run('Catalyst::Script::Server=HASH(0x8025654f8)')
> called at /usr/local/lib/perl5/site_perl/5.12.3/Catalyst/ScriptRunner.pm
> line 20
>        Catalyst::ScriptRunner::run('Catalyst::ScriptRunner', 'PTest',
> 'Server') called at ./script/ptest_server.pl line 8
>
>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
>



-- 
Sincerely yours,
Oleg Kostyuk (CUB-UANIC)



More information about the Catalyst mailing list