ActiveRecordはテーブル定義の初期値を認識する

メモ

CREATE TABLE `tables` (
  `flag` char(1) NOT NULL default '0'
);

などというテーブルがあったとして、このテーブルに対応するモデルのインスタンスを作るとflagには'0'が入る。

t = Table.new
p t.flag #=> '0'

これは便利。今までSQLを書くのが面倒で初期値をテーブル定義では指定せずビューで初期値を決めていたが、ActiveRecordが認識してくれるなら、Railsのコンソールでテストする時などに便利。
今後はテーブル定義で初期値をちゃんと書こうと思った。