スポンサーリンク

【Ruby on Rails】データベースに反映したカラムのデータ型の変更方法をわかりやすく解説!

みなさんこんにちは!
のむ(@nomu_engineer)です!

今回の記事では、一度データベースに反映したテーブルのカラムの型の変更の方法についてまとめてみました!

この記事を読むメリット
・データベースに反映してるテーブルのカラムの型の変更ができるようになる

この記事を読むおすすめの読者
・プログラミング初心者
・駆け出しエンジニア
・データベースに反映したテーブルのカラムの方を変更したい方

それでは早速本題の方に入っていきたいと思います

はじめに

カラムの方を変更するときは、カラム名の変更と同じように3ステップ踏みます。

①カラムの型変更用のマイグレーションファイルの作成
②作成したマイグレーションファイルの編集
③マイグレートの実行

この3ステップを意識して記事を読み進めてください!

ちなみに今回の記事では、以下のに内容を変更していきます。

テーブル・・・・・・・itemsテーブル
変更前のカラム型・・・contentカラムのstring型
変更後のカラム型・・・contentカラムのtext型

変更用のマイグレーションファイルの作成

カラムの型の変更にあたり、まずは変更用のマイグレーションファイルを作成します。
ターミナルにて下記のようなマイグレーションファイルの作成コマンドを入力します!

% rails g migration change_data_content_to_items

上記のようにコードを書くことで、変更用のマイグレーションファイルを作成できます。
少し解説すると、contentのところがデータ型を変更したいカラム名で、itemsのところがテーブル名になります。

% rails g migration change_data_[変更したいカラム名]_to_[テーブル名]

マイグレーションファイルの編集

ファイルの作成を終えたら、次はファイルの編集を行います。

作成されたファイルの中には空のchangeメソッドが用意されているので、その中にテーブル名、カラム名、新しいデータ型の順番で記述していきます。

class ChangeDataContentToItems < ActiveRecord::Migration[6.0]
  def change
    change_column :items, :content, :text
  end
end

解説を入れたパターンは以下の記述です!

class ChangeDataContentToItems < ActiveRecord::Migration[6.0]
  def change
    change_column :テーブル名, :型を変更したいカラム名, :新しく反映するデータ型名
  end
end

上記のよう記述することで、準備OKです。
あとはデータベースに反映するだけです!!

データベースに反映

これで最後です!
ターミナルでマイグレートを実行しましょう!

% rails db:migrate

マイグレートを実行することで、データベースに反映されるので、データベースに反映されているのかの確認まで、しっかり行いましょう!

もし反映されていなかったら、スペルミス等の可能性が高いので、見直してみてください!

最後に

以上がデータベースに反映したテーブルのデータ型の変更方法になります!

最後にまとめて終わりたいと思います!

DBに反映したテーブルのカラムのデータ型変更3ステップ

①変更用のマイグレーションファイルの作成

②作成したマイグレーションファイルの編集

③編集したマイグレーションファイルをデータベースに反映

カラム名の変更と同じように、意外とはシンプルだったと思います!

カラム名の変更方法はこちら

知っておくと意外と便利だったりするので、是非抑えておきましょう!

ありがとうございました!

スポンサーリンク




この記事を書いた人