みなさんこんにちは!
のむ(@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ステップ
①変更用のマイグレーションファイルの作成
②作成したマイグレーションファイルの編集
③編集したマイグレーションファイルをデータベースに反映
カラム名の変更と同じように、意外とはシンプルだったと思います!
知っておくと意外と便利だったりするので、是非抑えておきましょう!
ありがとうございました!