2012-02-02 9 views
1

なぜエラーメッセージが表示されますか?ORLite:「オブジェクトメソッドを見つけることができません」というエラーメッセージが表示されるのはなぜですか?

#!/usr/bin/env perl 
use warnings; 
use 5.012; 

use ORLite { 
    package  => 'My::ORM', 
    file  => 'sqlite_test.db', 
    create  => sub { 
     my $dbh = shift; 
     $dbh->do('CREATE TABLE user (name TEXT NOT NULL, age INTEGER)'); 
    }, 
}; 

say My::ORM::User->table; 

my $user = My::ORM::User->create(name => 'Alpha', age => 23,); 

出力:

user 
Can't locate object method "create" via package "My::ORM::User" at ./perl1.pl line 16. 

答えて

3

あなたはPRIMARY KEYを持つテーブルでのみ利用可能である方法を使用しようとしています。

作成クエリを修正して、それが動作します:

$dbh->do('CREATE TABLE user (name TEXT PRIMARY KEY, age INTEGER)'); 
#          ^^^^^^^^^^^ 
関連する問題