Rails4でID以外をプライマリーキーにする
かっこつけて「なんでもIDついているのがレイルズウェイです!うぇーい!」とか言っているやつがいるんですよ〜。
なぁーにぃ!?やっちまったな!!
男はだまって
id: false!!
add_index!!
def change create_table :foo_tables, id: false do |t| t.integer :foo, null: false t.timestamps end add_index :foo_tables, :foo, unique: true end
- +
| Field | Type | Null | Key | Default | Extra |
- +
| foo | int(11) | NO | PRI | NULL | |
結局、プライマリーキーなんてのは、NULL制約+UNIQ制約なんだってな!
これはMySQLでしか確認してないけど!
モデルにも対応が必要だ!
class FooTable < ActiveRecord::Base self.primary_key = :foo ~snip~ end
こんだけだ。
FactoryGirlとかの対応?
求めれば周りが右往左往して
世話を焼いてくれる
そんなふうにまだ考えてやがるんだ
臆面もなく・・・!
大人は質問に答えたりしない それが基本だ・・・!