0

私は最近 Catalyst アプリを構築していますが、私が気に入っていることの 1 つは、Catalyst の create スクリプトを使用してDBIx::Classのテーブル スキーマを簡単に生成することです。テーブルのスキーマを手動で記述せずに DBIX::Class を使用できるようにしたいと考えています。手でやらずにこれを行う方法はありますか?ありがとう!

4

3 に答える 3

5

DBIx::Class::Schema::Loaderdbicdumpスクリプトは、スキーマのダンプに使用できます。ドキュメントの例:

dbicdump -o dump_directory=./lib \
         -o components='["InflateColumn::DateTime"]' \
         -o debug=1 \
         My::Schema \
         'dbi:Pg:dbname=foo' \
         myuser \
         mypassword
于 2012-08-21T02:55:33.787 に答える
0
#!/usr/bin/env perl

use Modern::Perl;
use DBIx::Class::Schema::Loader 'make_schema_at';

my $DEBUG = @ARGV and $ARGV[0] =~ /^\-[\-]*v/;

say $DBIx::Class::Schema::Loader::VERSION if $DEBUG;
my @dsn = 'dbi:Pg:dbname=yourDB.db';

my $options = {
debug          => $DEBUG,
dump_directory => 'lib',
components     => [qw/ InflateColumn::DateTime /],
generate_pod   => 0,
};

make_schema_at(Schema => $options, \@dsn);

=head1 NAME

generate_dbic_schema

=head1 USAGE

perl generate_dbic_schema

=cut
于 2012-10-30T09:50:38.153 に答える
0

それをサポートする他のより一般的なモジュールはSQL::Translatorです。

于 2012-08-21T06:33:21.817 に答える