Catalyst::Plugin::CRUD リリース
0.16 をリリースしました。本バージョンから Template-Toolkit と ClearSilver の2つのビューに対応しています。モデルは従来どおり Class::DBI と DBIx::Class の2つに対応しています。
http://search.cpan.org/~bayside/Catalyst-Plugin-CRUD/
このプラグインは、DBDesigner4 で作ったファイルをそのまま読み込んで、スキーマ・コントローラ・国際化ファイル・テンプレートを自動的に作ってくれます。また、DBDesigner4 のテーブル定義のコメント欄を有効に活用します。データベースを触るだけの簡単なアプリケーションならば、10分もあればできてしまうお手軽さが特徴です。
使い方
DBDesigner4 で適当にファイルを作ります(foo.xml)。ここでは、データベースに Postgresql を使います。
Template-Toolkit を使う場合
catalyst.pl MyApp cd MyApp/script ./myapp_create.pl model DBIC CRUD /somewhere/foo.xml ./myapp_create.pl model DBIC DBIC::Schema MyApp::Schema \ create=dynamic "dbi:Pg:dbname=foo;host=localhost;" foo bar ./myapp_create.pl view TT TT createdb foo psql foo < ../sql/schema/bar.sql psql foo < ../sql/schema/baz.sql ./myapp_server.pl
MyApp/lib/MyApp.pm を以下のように編集します。
use qw/-Debug ConfigLoader I18N CRUD Static::Simple/;
ClearSilver を使う場合
事前に ClearSilver の perl バインディングと Catalyst::View::ClearSilver をインストールしておいてください。
catalyst.pl MyApp cd MyApp/script ./myapp_create.pl model DBIC CRUD /somewhere/foo.xml ./myapp_create.pl model DBIC DBIC::Schema MyApp::Schema \ create=dynamic "dbi:Pg:dbname=foo;host=localhost;" foo bar ./myapp_create.pl view CS ClearSilver createdb foo psql foo < ../sql/schema/bar.sql psql foo < ../sql/schema/baz.sql msgfmt -o ../lib/MyApp/I18N/ja.mo ../lib/MyApp/I18N/ja.po msgfmt -o ../lib/MyApp/I18N/en.mo ../lib/MyApp/I18N/en.po ./myapp_server.pl
MyApp/lib/MyApp.pm を以下のように編集します。
use qw/-Debug ConfigLoader I18N CRUD Static::Simple/;
MyApp/lib/MyApp/Controller/Root.pm を以下のように編集します。
use Locale::Maketext::Gettext; use File::chdir; sub end : ActionClass('RenderView') { my ($self, $c) = @_; my $CWD = '/somewhare/MyApp/root'; my %loc = read_mo('/somewhere/MyApp/lib/MyApp/I18N/ja.mo'); $c->stash->{loc} = \%loc; }