Catalyst::Plugin::CRUD リリース

0.16 をリリースしました。本バージョンから Template-Toolkit と ClearSilver の2つのビューに対応しています。モデルは従来どおり Class::DBIDBIx::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 を使う場合

事前に ClearSilverperl バインディング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;
}