« SennaとHyper EstraierとPlaggerと、あとはいろいろマッシュアップで、ちょっと趣味プロジェクトのブログサーチを作るぞ計画。 | トップ | ブログサーチのクローラーのためのテストエントリ~ »

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

コメント

コメントしてください




保存しますか?


楽天トラベル 夏の旅行