みなさんこんにちは!
のむ(@nomu_engineer)です!
一度マイグレートした後、にカラム名のスペルミスに気づいたり、もっとわかりやすいカラム名に変更したいと思ったことあると思います。
今回の記事では、一度データベースに反映させてしまったテーブルのカラム名の変更の仕方をわかりやすく解説したいと思います!
この記事を読むメリット
・カラム名の変更の仕方がわかる
この記事を読むおすすめの読者
・プログラミング初心者
・駆け出しエンジニア
・カラム名を変更したい方
それでは早速本題の方に入っていきたいと思います
カラム名変更の3ステップ
カラム名変更するにあたり、今回紹介する方法は3ステップに分かれています。
①変更用のマイグレーションファイルの作成
②作成したマイグレーションファイルの編集
③マイグレートの実行
この3ステップを意識して記事を読み進めてください!
ちなみに今回の記事では、以下の内容を変更していきます。
テーブル・・・・・・・usersテーブル
変更前のカラム名・・・nemeカラム
変更後のカラム名・・・nameカラム
変更用のマイグレーションファイルの作成
カラム名の変更にあたり、まずは変更用のマイグレーションファイルを作成します。
ターミナルにて、マイグレファイル作成のコマンドを入力します!
% rails g migration rename_neme_column_to_users
少し解説を混えた書き方をすると以下のようになります。
% rails g migration rename_[変更前のカラム名]_column_to_[テーブル名]
このように記述することで、カラム名を変更するためのファイルを作成することができます。
マイグレーションファイルの編集
上記のコマンド入力で、マイグレーションファイルが作成されるので次はファイルの編集を行います。
作成されたファイルの中には空のchangeメソッドが用意されているので、その中にテーブル名、変更前のカラム名、変更後のカラム名を順番に記述していきます。
class RenameNemeColumnToUsers < ActiveRecord::Migration[6.0]
def change
rename_column :users, :neme, :name
end
end
解説を入れたパターンはこちらです!
class RenameNemeColumnToUsers < ActiveRecord::Migration[6.0]
def change
rename_column :テーブル名, :変更前のカラム名, :変更後のカラム名
end
end
上記のように記述したらあとはデータベースに反映するのみです!
データベースに反映
最後にデータベースに反映させて終わりです!
ターミナルでマイグレートを実行しましょう!
% rails db:migrate
データベースに反映されるので、しっかり変更されたかを、データベースで確認しましょう!
もし変更されていなかったら、スペルミス等の可能性が高いので、今一度見直してみてください!
最後に
以上がカラム名変更の解説になります!
最後にまとめた終わりたいと思います!
マイグレーションファイルのカラム名変更の3ステップ
①変更用のマイグレーションファイルの作成
②作成したマイグレーションファイルの編集
③編集したマイグレーションファイルをデータベースに反映
意外とカラム名の変更を行うことが多いので、抑えておくと便利かもしれないです!
※僕だけかもしれませんが。。笑
ありがとうございました!