理系学生日記

おまえはいつまで学生気分なのか

dbicdump があるから使い捨てスクリプト書く必要はなかった

Perl で DBIC を使用して DB 系のプログラムを書くときは、スキーマクラスの作成のために、よく DBIC::Schema::Loader の make_schema_at を使った使い捨てスクリプトを書いていました。しかし、そもそもその必要はなかった。
DBIC::Schema::Loader には dbicdump というスクリプトが付属されていて、これを使えば DB からのスキーマの読み込み、およびスキーマクラスの作成を全て行ってくれる。

$ dbicdump -o dump_directory=./lib/ My::Schema 'dbi:SQLite:dbname=db/rank.db'
$ find lib/My/Schema
lib/My/Schema
lib/My/Schema/Result
lib/My/Schema/Result/Ranking.pm

dbicdump は -o オプションで make_schema_at に渡す第一引数を指定することが可能です。上記の例では、dump_directory オプションを使用し、出力ファイルの出力先を指定しています。