【Rails】モデルやコントローラーを削除したい!

モデルの削除

今回は、Userモデルを削除したい場合を例に取ります。

以下のコマンドで削除できます。

$ rails destroy model user
Running via Spring preloader in process 8230
      invoke  active_record
      remove    db/migrate/20211106181835_create_users.rb
      remove    app/models/user.rb
      invoke    test_unit
      remove      test/models/user_test.rb
      remove      test/fixtures/users.yml

すでにマイグレートしている場合

この場合は、上記のコマンドを実行してもテーブルが残ってしまうので、以下の手順で削除します。

まずマイグレーションファイルを作成します。

$ rails g migration user

以下のように、マイグレーションファイルにusersテーブルを削除するよう編集する。

class Users < ActiveRecord::Migration[6.1]
  def change
    drop_table :users
  end
end

最後に以下のコマンドで、データベースに適用させます。

$ rails db:migrate

コントローラーの削除

上記と同じく、Usersコントローラーを削除したい場合を例に取ります。

以下のコマンドで削除できます。

$ rails destroy controller users
Running via Spring preloader in process 9952
      remove  app/controllers/users_controller.rb
      invoke  test_unit
      remove    test/controllers/users_controller_test.rb
タイトルとURLをコピーしました