【Rails】テーブル名を変更したい

方法

空のマイグレーションファイルを作成

以下のコマンドでマイグレーションファイルを作成します。

今回は、”comments”を”tweets”に変更したい場合を例に取ります。

$ rails g migration change_変更前のテーブル名_to_変更後のテーブル名

#例
$ rails g migration change_comments_to_tweets

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

先ほど作成したマイグレーションファイルを以下のように編集します。

class ChangeCommentsToTweets < ActiveRecord::Migration[5.2]
  def change
    rename_table :comments, :tweets
  end
end

コントローラー、モデル、ビューを編集

ファイル名

クラス名

フォルダー名(ビュー)

メソッド内の変数等

それぞれ変更後のテーブル名に書き換えます。

*モデルは、アソシエーションがある場合はそこも書き換えます。

マイグレート

rails db:migrate

ルート修正

ルートを修正します。

#before
get 'comments/index', to: 'comments#index'

#after
get 'tweets/index', to: 'tweets#index'
タイトルとURLをコピーしました