Datamapper メモ
install
gem install dm-core dm-sqlite-adapter dm-migrations
入れたもの
- dm-core (1.0.2)
- dm-migrations (1.0.2) # auto_upgrade するのに必要
- dm-sqlite-adapter (1.0.2) # sqlite3 を使うのに必要
hello world
# -*- coding: utf-8 -*- require 'rubygems' require 'dm-core' require 'dm-migrations' DataMapper::setup(:default, 'sqlite3:db.sqlite3') class Post include DataMapper::Resource property :id, Serial # 主キー property :content, Text auto_upgrade! end Post.create :content => "hello datamapper" xs = Post.all(:order => [:id.desc]) puts xs.first.content
auto_upgrade!は,モデルからテーブルを自動生成する DataMapper のメソッド。
key
auto-increment な rails みたいな primary key にしたい場合はこんな感じ↓
property :id, Serial
主キーを複数にしたり自前で用意する場合は、:key = true で。
property :id, String, :key => true property :id2, String, :key => true …
insert
「id = 1 のレコードが存在しない場合、id = 1 のレコード追加」とかしたいとき↓こんなんすると楽
post = Post.first_or_create(:id => 1, :content => 'Hello Datamapper!!!') post.save