end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転しました

DBIx::Class::Schema::LoaderによるDBIC用スキーマ自動作成

DBIx::Class::Schema::Loaderの手動スキーマ生成、初心者向けチュートリアル - Yet Another Hackadelic
まぁ、↑こちらに記載されている通りですが、そのままではtableやcolumnに登録した日本語が文字化けしてしまうので、make_schema_at() のDB接続オプションを以下のように少々、修正。

#!/usr/local/bin/perl
use strict;
use warnings;
use FindBin;
use File::Spec;
use DBIx::Class::Schema::Loader qw/make_schema_at/;

make_schema_at(
               'Schema',
               #'DBICTest::DBIC::Schema',
               {# デフォでloadするcomponents
                components => [ 'ResultSetManager', 'UTF8Columns' ],
                # 出力先のディレクトリ
                dump_directory => File::Spec->catfile( $FindBin::Bin),
                #dump_directory=>File::Spec->catfile( $FindBin::Bin,'..','lib'),
                # 元にあったファイルを再生成時に消すかどうか
                really_erase_my_files => 1,
                debug => 1,
               },
               ['dbi:mysql:database=xing','root','ないしょ',
                {on_connect_do => ['SET NAMES utf8'], ####ココ
                 mysql_enable_utf8 => 1}              ####ココ
               ]
              );

これって、以前書いたSQL::Translatorのエントリに似ていますね
db schema(DDL)の資料作成なら、SQL::Translator で自動作成しては? - end0tknrのkipple - web写経開発

2014/12/20 追記

DBIx::Classのselect等のリファレンスは、次のurlが分かりやすいです
Perl-DBIC - yanor.net/wiki