$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

Teng::Schema::Declare::Columns::DateTimeを作った

 この前、書いた

ですが、Teng::Schema::Declare::Columns::DateTimeとしてちゃんとモジュール化してみました。CPANにはまだ上げてないです。もうちょっと様子見て、大丈夫そうならあげようかなって考えてます。あと、名前をどうしようか迷ってます。

Repository

githubに置いてあります。
https://github.com/shibayu36/p5-Teng-Schema-Declare-Columns-DateTime

How to use

 Teng::Schema::Declareと同時に使うとtable定義内でdatetime_columnsが使えるようになります。datetime_columnsとして指定したcolumnはDateTimeオブジェクトとしてinflate/deflateされるようになります。今のところ、DateTime::Format::MySQLでformatされます。スキーマ定義は以下のとおり。

package MyDB::Schema;
use strict;
use warnings;
use Teng::Schema::Declare;
use Teng::Schema::Declare::Columns::DateTime;

table {
    name    "sample";
    pk      "id";
    columns qw( id name created_at updated_at );
    datetime_columns qw(created_at updated_at);
};

1;

最後に

 とりあえず、Schema定義が簡単にできるようにしたいということで今回のモジュールを作ってみました。まだFormat方式を指定できなかったり、名前をどうしようか決めてなかったり、といった問題があるので、CPANには上げてないです。
 なにか指摘などあれば@shiba_yu36までお願いします。