【事象】作成したテーブルを削除したい
【事象】作成したテーブルの削除したい
解決したいこと
不要なテーブルを削除したい
解決策
手順:モデルの削除→テーブルの削除
今回はtags
という名前のテーブルを削除したい
(Sequel Pro
とschema.rb
を確認して削除したいテーブル名がまだ残っていることを確認)
まずはモデルを削除する
tags
と関連しているモデル、models/tag.rb
が存在していることを確認。
rails destroy model 削除したいモデル名
を実行
今回はmodels>tag.rb
なのでrails destroy model tag
モデルが削除されていることを確認
削除用のマイグレーションファイルを作成
今回はわかりやすくdelete_table
というマイグレーションファイルにしました。
rails g migration delete_table
作成したdelete_table
というマイグレーションファイルにdrop_table :削除したいテーブル名
を記入。
今回はtagテーブルを削除するので以下の記載
drop_table :tags
bundle exec rake db:migrate
を実行
schema.rb
からもテーブルが消えていることを確認。
念のためSequel Proでも削除されていることを確認。
これでもうまく行かなかったら、まだそんなにテーブル作成していない状態であればrails db:migrate:reset
でマイグレーションをきれいにしてしまって削除した方が早い。