モデルを作成し、マイグレーションしてテーブルができた後に
モデル、テーブルを削除したいとき。
unitpriceというモデルを作成し、unitprcesというテーブルが出来上がった状態で、
このモデル、テーブルを削除する場合を記載する。
rails バージョン
$ rails -v Rails 5.0.7
まず、
「rails destroy model unitprice」
でモデルを作成時にできたファイルを削除する。
$ rails destroy model unitprice Running via Spring preloader in process 21471 invoke active_record remove db/migrate/20181007144100_create_unitprices.rb remove app/models/unitprice.rb
次に
「rails generate migration drop_table_unitprices」
でテーブル削除用のマイグレーションファイルを作成する。
(drop_table_unitpricesの部分は任意の名前で、何でも良い)
$ rails generate migration drop_table_unitprices Running via Spring preloader in process 21357 invoke active_record create db/migrate/20181007145047_drop_table_unitprices.rb
出来上がったマイグレーションファイルに
class DropTableUnitprices < ActiveRecord::Migration[5.0]
def change
drop_table :unitprices ■この行を追加(:unitpricesの部分に削除したいテーブル名を記載)
end
end
rails db:migrate
でマイグレーションするとテーブルが削除される。
$ rails db:migrate == 20181007145047 DropTableUnitprices: migrating ============================== -- drop_table(:unitprices) -> 0.0027s == 20181007145047 DropTableUnitprices: migrated (0.0034s) =====================
リンク