Mongoid generate
Mongoidでモデルを作るときにTimestampとか付ける方法について軽くメモ。
rails g model model_name [field:type [...] ] [--timestamps=true] [--parent=parent_model_name]
fieldにMongoDBのattributeを指定。typeは以下から使う。参考サイト
Array | 配列、2D指定など |
BigDecimal | 可変長浮動小数 BigDecimal |
Boolean | True または False |
Date | 日付 |
DateTime | 日付と時刻 |
Float | 小数 |
Hash | 連想配列 |
Integer | 整数 |
String | 文字列 |
Symbol | シンボル |
Time | 時刻 |
次にオプション。timestamps=trueを指定すると、以下の行が自動的にモデル定義に挿入される。これにより、MongoDBでドキュメントを作成、更新した際の時間が記録されるようになる。
include Mongoid::Timestamps
最後にparent。モデルを継承できるので抽象的なモデルを作成してから詳細な個別モデルを作る際に使うようです。
なお、template/model.rbにはversioningというオプションもあるので、これをtrue指定することで以下が挿入されるようです。
include Mongoid::Versioning
今のところ埋め込みドキュメントをコマンドライン指定する方法ってありませんよね?(どうやってするのかって部分でもありますが)
もうちょっとやってみます。