編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

スキーマクラス・テーブルクラスの作成

ワンラインスクリプトで、DBIx::Class::Schema::Loaderを使って、実際のDBをパースし自動的にスキーマクラス・テーブルクラスを作る。

以下の場合、MySQLのmydbデータベースに接続して、libディレクトリ以下にMyDB::Schemaという名前空間でスキーマクラス・テーブルクラスを作成する。

perl -MDBIx::Class::Schema::Loader=make_schema_at,dump_to_dir:./lib \
-e 'make_schema_at "MyDB::Schema", {relationships => 1, debug => 1}, ["dbi:mysql:mydb","db_user","db_passwd"]'

ファイル構成

 - lib
   `-- MyDB
       |-- Schema
       |   |-- TableA.pm # テーブルAのDBIx::Classクラス
       |   `-- TableB.pm # テーブルBのDBIx::Classクラス
       `-- Schema.pm # DBIx::Class::Schemaクラス

テーブルごとのDBIx::Classクラスは作らず、Schema::Loaderクラスだけで対応する場合

以下のようなスキーマクラスを作る。(が、上の方法でテーブルクラスを作成した方がよいだろう。)

package MyDB;

use base qw/DBIx::Class::Schema::Loader/;

__PACKAGE__->loader_options();

1;

参考

http://search.cpan.org/perldoc?DBIx::Class::Schema::Loader


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2009-11-14 (土) 07:39:45 (3079d)