Rails マイグレーションファイルを使ってカラムのデータ型を変更する方法

rails

こんにちは。菜笑[なえ]です。
今回は「Rails マイグレーションファイルを使ってカラムのデータ型を変更する方法」という内容で書いていきます。

事象

マイグレーションファイルを使って、float型からdouble型に変更したい。

解決方法

マイグレーションファイルの作り方。

$ rails g migration change_datatype_カラム名_of_テーブル名

change_datatype_カラム名_of_テーブル名 の部分は任意の書き方で大丈夫なので、他のファイル名でもいいです。

マイグレーションの内容は以下になります。
今回はMySQLでdouble型 にします。

class ChangeDatatypeLatlngOfAddresses < ActiveRecord::Migration[5.1]
  def change
    change_column :テーブル名, :カラム名, :float, limit: 53
  end
end

float型 になるような感じがしますが、limit を24~53の範囲で設定すればdouble型 になるようです。

おわりに

MySQLとRailsではデータ定義が違うのがややこしいですよね。

float型とdouble型の違いが、limitの差ということを初めて知りました。
ちょっと不思議な感じもします。

参考文献

ありがとうございます!

SNS

Twitter:@nae310_
Instagram:310nae