読者です 読者をやめる 読者になる 読者になる

Dynamoid v1.2 の新しいオプションについて

Ruby

AWSのDynamoDB向けORMで"Dynamoid"というgemがあるのですが、以前投げていた下のPRが無事マージされたので変更点を紹介しておきます。

github.com

強制的に created_at と updated_at カラムが付加されるのを防ぐオプション

これまでレコードを保存する際に、timestamps用カラム(created_at, updated_at)がデフォルトで強制的に付与されていましたが、以下のように設定することで無効化出来るようになります。想定しているユースケースは、既に運用中のDBで使用したいがカラムを増やすわけにはいかない場合や、timestamps用のカラムが既に別の名前で作られている場合などです。

Dynamoid.configure do |config|
  config.timestamps = false
end

masterにはマージされましたが現時点ではrubygemsにはpushされていないので、もし変更を取り込みたい場合は下のように直接gitリポジトリを指定してinstallする必要があります。

gem "dynamoid", git: "https://github.com/Dynamoid/Dynamoid.git"
# または
gem "dynamoid", github: "Dynamoid/Dynamoid"

つい最近メンテナが2人増員されて活発になっているので、近いうちにrubygemsの方のバージョンも上がるでしょう。

追記 2016-09-05

v1.2.1 がデプロイされました

dynamoid | RubyGems.org | your community gem host

強制的にテーブル名にプリフィックスが付与されていたのを防ぐオプション

ついでに次のバージョンで更新予定の以下のオプションも紹介しておきます。強制的にテーブル名に付与されていたnamespaceを無効化できます。こちらも現時点で取り込みたければ同様にgitリポジトリ経由でinstallする必要があります。

Dynamoid.configure do |config|
  config.namespace = nil
end

関連Issue

これらの対策のために施された世のモンキーパッチたちを消し去ることが出来れば幸いです。

モデリング練習ブログなのに技術系の記事を書いてしまって申し訳ございません……