98
76

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Rails】カラムのデータ型変更方法

Last updated at Posted at 2019-02-04

#経緯
Railsでの開発の際、modelのカラムのデータ型を間違えて実行してしまった。そこでデータ型の変更を試みた。以下に示す方法で無事に変更できたので、メモ。恐らく初心者向けの投稿である。

#環境
・Mac OS 10.14.3
・ATOM 1.34.0
*Macでの開発のため、Windowsでは分かりかねます。

#変更方法
以下、変更の手順である。
##1.空のマイグレーションファイルを作成する
以下の名称を持つ空のマイグレーションファイルを作成する。

$ rails g migration change_data_title_to_article

上記の場合、articleがテーブル名、titleがデータ型を変更したいカラム名である。

##2.作成したマイグレーションファイルに追加入力する
作成したマイグレーションファイルは/db/migrate内に存在する。ファイルを開き、class内に以下のメソッドを追加する。

change_data_title_to_article.rb
def change
  change_column :article, :title, :text
end

上記の場合、textが新しいデータ型である。そして保存する。

##3.マイグレーションファイルをDBに反映させる
ターミナルで以下を打ち込み、DB(データベース)に反映させる。

$ rails db:migrate

これでデータ型の変更が完了である。
確認する場合は

$ rails c

でコンソールを起動して、テーブル名.all等で可能である。

#まとめ
割とシンプルな変更方法な気がする。仮に複数カラムのデータ型を変更する際は同様のマイグレーションファイルを作成するのだろうか。

#参考
以下の関連記事を参考にした。
マイグレーションを使ったカラムの追加、削除、データ型の変更 [ 自分用メモ ]
【備忘録】Rails-カラム名を変更する方法

98
76
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
98
76

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?