MoFedge::Data::DBIC::Schemaの解説してみますかね
MoFedge::Data::DBIC::SchemaってのがMFのラボで公開されてるのですが、
http://code.mfac.jp/trac/browser/MoFedge-Data-DBIC-Schema/
いまいち分からないらしい。
DBIx::Class::Schema::Loaderとなにがどう違うのかとかとか。
まあ、基本DBIx::Class::Schema::Loader
http://search.cpan.org/dist/DBIx-Class-Schema-Loader/
これを使っとけばいいんじゃないでしょうか。
終わり(マテ
MoFedge::Data::DBIC::Schemaって何をヤッテクレル人なのかを
かるーく書いてみようと思う。
- load_componentsを書くところを1箇所にするためのもの。
- MoFedge::Data::DBIC::AutoSet
- MoFedge::Data::DBIC::FromSledge
- MoFedge::Data::DBIC::AutoInflateDateTime
- DBIx::Class::AsFdat
- DBIx::Class::PK::Auto
- DBIx::Class::Core
- MFのテーブル構造に沿ったリレーションを自動で貼ってくれるもの
- has_manyとbelongs_toのみ
- idというカラムがある場合それを自動でset_primary_keyする
- idというカラムがある場合resultset_attributesを使って自動でorder_by => 'me.id DESC'を設定する
- ridというカラムがある場合それを自動でadd_unique_constraintに設定する
- created_onというカラムがある場合自動でMoFedge::Data::DBIC::AutoInflateDateTime::datetime_columnを使ってinflateとdeflateを設定
- updated_onというカラムがある場合自動でMoFedge::Data::DBIC::AutoInflateDateTime::datetime_columnを使ってinflateとdeflateを設定
- *_onというカラムがある場合自動でMoFedge::Data::DBIC::AutoInflateDateTime::date_columnを使ってinflateとdeflateを設定
- *_atというカラムがある場合自動でMoFedge::Data::DBIC::AutoInflateDateTime::datetime_columnを使ってinflateとdeflateを設定
- プロジェクト用のDateTimeを作る
大枠こんな感じです。
- MFのテーブル構造に沿ったリレーションを自動で貼ってくれるもの
これについては以下のような感じです。
テーブル構造
table: blogger
column:
- id
- rid
- nametable: blog
column:
- id
- rid
- blogger_id
- name
こんなテーブルがあった場合、MoFedgeでは
blogger->has_many('blogs', 'Blog', 'blogger_id');
blog->belongs_to(blogger_id => 'Blogger');
て、感じにリレーション張ります。
many-to-manyとかhas_oneとかとかが必要な場合はそれだけ手動。
DBIx::Class::Schema::Loaderではテーブル名とかカラム名も
自動でやってくれてますが、それはMoFegeでは現在手動です。
これも何とかする予定ってかLoaderと連携させる予定。
うひ。
大体こんなの。
まあ、どういうことをやってるかはこれでわかるのではないかと思いますが。
わからないかもしれないですね(マテ
次回を待て!(あるのか?