Rails g model Rating user_id:integer message:string value:integer
このモデルを完全に削除するにはどうすればよいですか?ありがとう
bundle exec rake db:rollback
Rails destroy model <model_name>
モデルを生成すると、データベースの移行が作成されます。そのモデルで「destroy」を実行すると、移行テーブルは削除されますが、データベーステーブルは削除されません。だから実行する前に
bundle exec rake db:rollback
これを試して
Rails destroy model Rating
モデル、移行、テスト、フィクスチャを削除します
将来の質問者向け:コンソールからテーブルを削除できない場合は、テーブルを削除する移行を作成してみてください。移行を作成してから、ファイルに次のようにドロップしたいテーブルを記録する必要があります。
class DropTables < ActiveRecord::Migration
def up
drop_table :table_you_dont_want
end
def down
raise ActiveRecord::IrreversibleMigration
end
end
移行を削除するには(既に移行を移行している場合)
rake db:migrate:down VERSION="20130417185845" #Your migration version
モデルを削除するには
Rails d model name #name => Your model name
Rails 5で機能するJenny Langの回答の別の実装を次に示します。
最初に移行ファイルを作成します。
bundle exec be Rails g migration DropEpisodes
次に、移行ファイルに次のように入力します。
class DropEpisodes < ActiveRecord::Migration[5.1]
def change
drop_table :episodes
end
end
Rails db:migrate
を実行すると、テーブルが削除されます。 Rails db:rollback
を実行すると、RailsはActiveRecord::IrreversibleMigration
エラーをスローします。