rails g model Rating user_id:integer message:string value:integer
¿Cómo puedo eliminar completamente este modelo? Gracias
rails g model Rating user_id:integer message:string value:integer
¿Cómo puedo eliminar completamente este modelo? Gracias
Respuestas:
bundle exec rake db:rollback
rails destroy model <model_name>
Cuando genera un modelo, crea una migración de base de datos. Si ejecuta 'destruir' en ese modelo, eliminará el archivo de migración, pero no la tabla de la base de datos. Así que antes de correr
bundle exec rake db:rollback
bundle exec rake db:drop db:create db:migrate
. Será una nueva base de datos vacía.
Para futuros interesados: si no puede eliminar las tablas de la consola, intente crear una migración que elimine las tablas por usted. Debe crear una migración y luego en las tablas de notas de archivo que desea colocar de esta manera:
class DropTables < ActiveRecord::Migration
def up
drop_table :table_you_dont_want
end
def down
raise ActiveRecord::IrreversibleMigration
end
end
Para eliminar la migración (si ya migró la migración)
rake db:migrate:down VERSION="20130417185845" #Your migration version
Para eliminar el modelo
rails d model name #name => Your model name
rails d model
es lo que estoy buscando para revertir mi rails g model
.
Aquí hay una implementación diferente de la respuesta de Jenny Lang que funciona para Rails 5.
Primero cree el archivo de migración:
bundle exec be rails g migration DropEpisodes
Luego, complete el archivo de migración de la siguiente manera:
class DropEpisodes < ActiveRecord::Migration[5.1]
def change
drop_table :episodes
end
end
Correr rails db:migrate
dejará caer la mesa. Si ejecuta rails db:rollback
, Rails arrojará un ActiveRecord::IrreversibleMigration
error.