DBICスキーマクラスの作成ヘルパースクリプトを使うscript/myapp_create.pl model MyModel DBIC::Schema MySchema create=static 'dbi:Pg:dbname=test_db;host=192.168.0.200' db_user db_passwd 上記のコマンドを実行すると、内部ではDBIx::Class::Schema::Loaderを使って、以下のようなモデルクラス・スキーマクラス・テーブルクラスが作成される。
注意MyModel.pmにはDBユーザ名とパスワードがハードコーディングされているので、必要に応じて書き換える。例えば以下のように。 connect_info => [ MyApp->config->{dsn}, MyApp->config->{db_user}, MyApp->config->{db_password}, ] 参考
モデルクラスはコントローラ等にて以下のようにして利用できるsub index : Local { my ( $self, $c, $id ) = @_; my $row = $c->model('MyModel::TableA')->find($id); } ヘルパースクリプトを使わないならDBIx::Class::Schema::Loaderを使うか、完全に手で書く。詳しくは、Perl-DBIC/基本/Schemaクラスの作成 を参照のこと。 DBIx::Class::Schema::Loaderを使うなら、以下のようなスクリプトをscript以下に置いて、実行する。 #!/usr/local/bin/perl use DBIx::Class::Schema::Loader qw/make_schema_at/; make_schema_at( 'MyApp::MySchema::Result', { dump_directory => './lib', moniker_map => sub { my $table = shift; join '', map ucfirst, split /[\W]+/, lc $table; }, }, [ 'dbi:Pg:dbname=test_db;host=192.168.0.200', 'db_user', 'db_passwd' ] ); 参考 |
|