Help us understand the problem. What is going on with this article?

カラムのデータ型の変更(Rails)

More than 1 year has passed since last update.

環境

windows(64bit)
ruby 2.6.3p62
Rails 5.2.2
Cloud9上で開発

はじめに

$ rails g model ... などのコマンドでカラムを作成して、後からカラムのデータ型を間違えてしまったことに気づくことがあると思います。
そんな場合のために、この記事ではカラムのデータ型の変更についてご紹介します。

1. 空のマイグレーションファイルの作成

以下のようにして空のマイグレーションファイルを作成します。

$ rails g migration change_data_<カラム名>_to_<テーブル名>

僕の場合はEventのテーブルdateカラムのデータ型を変更したかったので次のようにしました。

$ rails g migration change_data_date_to_events

すると、以下のようなマイグレーションファイルが作成されます。

db/migrate/〇〇_chenge_data_date_to_events.rb
class ChangeDataDateToEvents < ActiveRecord::Migration[5.2]
  def change
  end
end

2. データ型を変更する

僕の場合、dateカラムのデータ型をdatetime型からstring型へ変更したかったので、上記のマイグレーションファイルを次のように変更しました。

db/migrate/〇〇_chenge_data_date_to_events.rb
  def change
    change_column :events, :date, :string
  end

「これで変更完了!」といいたいところですが、最後に一番大事なことを忘れずに!

3. データベースに変更内容を反映

$ rails db:migrate

おしまいです。
コンソールなどで変更内容が反映されているか確認してみてください。

Kiichiro-T
大学生です。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした