ActiveRecord の Migration で bigint を
つかい。。。たい?
そもそも bigint が本当に必要なのかを先に考えるべきじゃ。。。
とか思いつつも
「移行元の DB が bigint なんだよ」
というわけで、bigint を使うことに。
あれ?ところで (Rails とかで)、ActiveRecord 使って migration するとき、bigint ってどうやって指定するんだろう?
と疑問に思ったので、ソースコードを眺めてみたらあっさりとそれっぽい場所を発見。
- active_record/connection_adapters/postgresql_adapter.rb 900行目付近
case limit when 1..2; 'smallint' when 3..4, nil; 'integer' when 5..8; 'bigint' end
とゆーことで、migration ファイルの limit の値によって smallint / integer / biginit が決まるってゆーことなんですね。
へー。
create_table :tests do |t| t.integer :int_val, :limit => 3 # <-- ここの値 end
あんまつかわなそうだね。。。
とりあえず、わーい。