Posts

Showing posts from September, 2014

ActiveGroongaを使ってみる (2)

今関わっている某プロジェクトでGroongaを採用したいと思って、色々と読んだりいじったりしています。 Railsアプリケーションに組み込みたいと思っているので、ActiveGroongaを使うのがよさそうだと思って試し始めたのですが、リファレンスがまだComing soonでわからないところがたくさんあったりするので、コードを読みながらちまちまと進めていることをまとめておくことにしました。 この検証では Rails 4.1.5 を使っています。別バージョンだとこの方法では動かないかもしれませんのであしからず。 今回はマイグレーションについて書いています。 マイグレーションスクリプトの定義 マイグレーションスクリプトの実行 テーブルスキーマの確認 マイグレーションスクリプトの定義 前回 の手順でSampleモデルを生成すると、db/groonga/migrate ディレクトリにマイグレーションスクリプトが生成されます。 class CreateSamples < ActiveGroonga::Migration def up create_table( :samples ) do |table| table.timestamps end end def down remove_table( :samples ) end end create_tableの中の書き方(何メソッドを呼べばいいのか)がわからなかったのでGitHubの ActiveGroonga と Rroonga の中身を調べたところ、create_table のブロックの引数に渡される table には、Groonga::Schema::TableDefinition のインスタンスが入っている事が判明。 Groonga::Schema::TableDefinitionのメソッド を呼び出してテーブルのスキーマを定義できるようです。 ということで色々なデータ型のカラムを追加してみました。 class CreateSamples < ActiveGroonga::Migration def up create_table( :samples ) do