Dynamoid v1.2 の新しいオプションについて
AWSのDynamoDB向けORMで"Dynamoid"というgemがあるのですが、以前投げていた下のPRが無事マージされたので変更点を紹介しておきます。
強制的に 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
- Provide option to skip namespace in configuration · Issue #5 · Dynamoid/Dynamoid · GitHub
- Config.namespace still adds namespacing even if set to nil · Issue #78 · Dynamoid/Dynamoid · GitHub
これらの対策のために施された世のモンキーパッチたちを消し去ることが出来れば幸いです。
モデリング練習ブログなのに技術系の記事を書いてしまって申し訳ございません……