2006年11月17日
[Plagger] とりあえず、DBに保存するところは出来た

PlaggerでDBに保存できるようにということで、Googleで調べていたら、Store::DBICというのを発見。
SVNのブランチの、feature_serverの中にありました。
これは、SQLiteしか対応してなさそうでしたが、よくみてみると簡単にMySQL用を作れそうだったので、ちょっと作業してみました。
assets/plugins/Store-DBIC/plagger.sqlite.sql
を元に、plagger.mysql.sqlを作成し、そのSQLにてテーブルを作成。また、
lib/Plagger/Schema
の中の
SQLite.pm
SQLite/Entry.pm
SQLite/EntryMeta.pm
SQLite/EntryTag.pm
SQLite/Feed.pm
SQLite/FeedMeta.pm
SQLite/FeedTag.pm
SQLite/Folder.pm
SQLite/Pin.pm
を元に、
MySQL.pm
MySQL/Entry.pm
MySQL/EntryMeta.pm
MySQL/EntryTag.pm
MySQL/Feed.pm
MySQL/FeedMeta.pm
MySQL/FeedTag.pm
MySQL/Folder.pm
MySQL/Pin.pm
を作成。
これは、SQLite.pmのものをそのまま使っても良さそうだったけど、とりあえず作ってみた。
あとは、config.yamlで
- module: Store::DBIC
config:
schema_class: Plagger::Schema::MySQL
connect_info: [ 'dbi:mysql:testdb', username, password ]
みたいな感じ。
config.yamlの中にパスワードを書くのがちょっと嫌かな。これは要検討
MySQL側はSennaバインディングでentryのbodyを全文検索できるようにした。
次は、Rule::Deduped::DBICかな。
こちらも存在しているのを見かけたので、簡単に行きそう。
それにしても、最近はClass::DBIではなく、DBIx::Classなんですね。
おじさん、時代遅れか。
WEB+DB PRESS Vol.35 になにやらnaoyaさんが書いているよう。
読み直してみよう。
投稿者 田中@グリニッジ : 2006年11月17日 20:18
トラックバック
このエントリーのトラックバックURL:
http://blog.tanaka-cs.com/mt/mt-tb.cgi/114
