2009年3月26日木曜日

rake migrate で longblob 型にする



MySQLで写真・画像などをファイル保存ではなくテーブルに保存する場合は、型をlongblobにしなければいけませんが、Railsのmigrateではlongblobは指定できません。
rake migrateでlongblobを指定する方法です。
DDLから作成すれば問題ないですが・・・)


 def self.up
  create_table :xxxxx do |t|
   t.binary :photo
  end
  execute("alter table xxxxx change photo photo longblob");
 end



binaryを指定するとblob型になります。
blob型で作成し、executeでalter tableします。
何か気持ち悪い感じですね・・・

ちなみに一般的に利用する型も書いておきます。

string ⇒ varchar(255)
texttext
integerint(11)
floatfloat
decimaldecimal(10,0)
datetimedatetime
timestampdatetime
timetime
datedate
binaryblob
booleantinyint(1)

0 件のコメント: