Ruby on Rails

トップ > チップス > Ruby on Rails
2014-09-25, rails

BIGINT型の列を作る

railsにハマってます。addictとdeadlockの両方の意味で。モデルやscaffoldを生成する際に、bigint型の列を定義するには以下のように指定します。恐らく数字はバイト数を表しているんですが、内部的には”たまたまそんな感じ”にラップされているだけのようだったり、よく分かりません。少なくともmysqlではちゃんと動いているように見えます(bigint型の列が作られていました)。

$ rails g model item code:integer{8}

既にinteger型で作ってしまった列の定義変更は、migrationファイル内のchange_columnメソッドで以下のように指定することが可能です。既にデータが入っている場合でもよきに計らってくれるのが凄いです。逆に型を小さくした場合はどうなるんだろう…?などと心配もしてしまいますが。

  def change
    change_column :items, :code, :integer, limit: 8
  end

参考URL

この記事は役に立ちましたか?