query: tag:couchdb

Merb/DataMapper/CouchDBの環境で rspec を使う場合には、
spec_helper.rb
で以下のように設定すると良いようです。

ruby>>
config.before(:all) do
DataMapper::AutoMigrator.auto_migrate(nil,
*(DataMapper::Resource.descendants - [Merb::DataMapperSessionStore]))
end
<<--

セッションストアを使っている場合は、
Merb::DataMapperSessionStore用のrepositoryを
別途指定すると良いと思います。

posted by genki genki on Sat 4 Apr 2009 at 22:07 with 0 comments

急遽大門駅付近で開催されることになったCouchDB勉強会のレポートです。

参加者: @maiha, @yugui, @yamaz, @takiuchi

そもそもCouchDBは何かというと、
Apacheのプロジェクト
で、分散、耐障害性、スキーマフリー、ドキュメント指向なデータベスで、
RESTfulなAPIを使って制御します。

結構前から存在していたのですが、取りかかるきっかけがなくてスルーしていました。
しかし、dm-couchdb-adapterを使ってMerb/DataMapperで利用可能という事が分かり、にわかに盛り上がってきました。

早速、couchdbをインストールします。
いまのところ、ソースからcouchdb-0.9.0をインストールするのが一番良いようです。
macportsのcouchdb-0.9.0aでは動作が微妙に異なっているようでうまく動きませんでした。

dm-couchdb-adapterは、dm-moreにバンドルされているのですが、
そのままでは一部機能が利用できなかったので、
問題の分析を行いながら、
@maihaさんが改良を加えていきました。
改良版はこちらにあります。
使ってみたい場合は、maiha/dm-moreをcloneしてきて、

pre>>
% cd adapters/dm-couchdb-adapter
% sudo rake install
<<--

すればOKです。
基本的な使い方は上記GitHubリポジトリのREADMEを読めば分かります。

結論として、普通にMerbアプリを作れるようになりました。
試しに作りかけの社内ツール的なものをMerb/DM/CouchDBの構成にしてみました。

http://watch.s21g.com

Future Worksとしては、

  • read_manyでのorderの指定。emitの第一引数を使う。逆順をどうするか。
  • count以外のaggregate (max, min, sum, avg) のサポート

などがありますね。

posted by genki genki on Fri 3 Apr 2009 at 13:41 with 0 comments

ubuntuにcouchdbをソースから入れる手順をメモしておきます。

posted by genki genki on Fri 3 Apr 2009 at 02:50 with 0 comments