はじめに
今回はRailsでのカラム名の変更について紹介します。
Railsは初心者のため間違っている箇所などあればコメントで教えてください。
エラー
メソッドでエラーが出ていますよというエラーだったので、「メソッドで記載ミスがあったのか!」と思いメソッドを探しても何も見つからず、、
→結果的に、DBのカラム名が
正:completed
誤:comleted
と「p」が抜けていたのが原因でした。
RailsでのDBカラム名の変更方法
①カラム名を変更するためのマイグレーションファイルを作成する
$ rails g migration rename_変更前のカラム名_column_to_テーブル名
$ rails g migration rename_comleted_column_to_tasks
②作成したマイグレーションファイルにカラム名の変更を記載する
rename_column :テーブル名, :変更前のカラム名, :変更後のカラム名
class RenameComletedColumnToTasks < ActiveRecord::Migration[7.1]
def change
rename_column :tasks, :comleted, :completed
end
end
③マイグレーションファイルを実行してDBに反映させる
$ rails db:migrate
マイグレーションの実行状況の確認
マイグレーションの実行状況は下記コマンドで確認することができます。
upは実行済み、downは未実行です。
$ rails db:migrate:status
Status Migration ID Migration Name
--------------------------------------------------
up 20240120071748 Create tasks
up 20240120105844 Rename comleted column to tasks
あとがき
本来はカラム名を間違えなければつまづかない箇所ですが、間違える→調査することで
プログラミングは学ぶことができるので良い勉強になりました。
このようなつまづいた内容も、これから記事にしていけたらと思います。
参考文献