Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
55 lines (33 sloc) 2.18 KB
* Data::Model とは
id:yappo さんがつくっている O/R Mapper。新興のものでチュートリアル的なものがない
ので自分でかいてみることにしました。
とはいえ、Data::Model 自体がまだまだαクオリティですので、チュートリアルもてぬき
です。
* つかってみる
** DBI を対象につかってみる
Data::Model は、Data::Model のスキーマ定義からCREATE TABLE 文を発行することができ
ます。なので、まずはスキーマ定義を Perl で書きます。
see lib/Neko/DB/User.pm
カラムの詳細な定義は、別ファイルにします。
see lib/Neko/Columns.pm
カラムの定義を別ファイルにするというところは、他の O/R Mapper とのおおきな違いで
すね。これによって得られるメリットは「カラム定義の共通化」ですね。たとえば、レコー
ドの作成日付を保存する created_on なんていうのは複数のテーブルで同じ定義をつかい
たいものですから、共通化できると便利です。
** スキーマ定義を実際につかう
これをよびだし、CREATE TABLE 文を発行するには、
see script/dump_schema.pl
のようにします。driver を各 schema に対して発行するというあたりがポイントになる
かとおもいます。わずらわしいですが、ここはぐっと我慢しましょう。
see script/crud.pl
に、簡単な SELECT/INSERT/UPDATE/DELETE の例をのせておきました。
** Memcached をつかってみる
Data::Model ではストレージとして SQLite の他に memcached protocol によるデータの
保存にも対応しています。ここではいわゆる hash database 的なものをつかうことが想定
されています。Tokyo Tyrant などをストレージとして、Data::Model でデータをあつかえ
るということです。
Memcached をつかう場合の例は下記のスクリプトにおいてあります。
see script/memcached.pl
** キャッシュを使ってみる
DBI や Memcached のストレージへのアクセスするさいに Memcached などのキャッシュを
挟む事が出来ます。の、予定。
Something went wrong with that request. Please try again.