rails g model Rating user_id:integer message:string value:integer
Come posso rimuovere completamente questo modello? Grazie
rails g model Rating user_id:integer message:string value:integer
Come posso rimuovere completamente questo modello? Grazie
Risposte:
bundle exec rake db:rollback
rails destroy model <model_name>
Quando si genera un modello, viene creata una migrazione del database. Se esegui "distruggi" su quel modello, eliminerà il file di migrazione, ma non la tabella del database. Quindi prima di correre
bundle exec rake db:rollback
bundle exec rake db:drop db:create db:migrate
. Sarà un nuovo database vuoto.
Per futuri interlocutori: se non riesci a eliminare le tabelle dalla console, prova a creare una migrazione che elimini le tabelle per te. È necessario creare una migrazione e quindi nelle tabelle delle note del file che si desidera rilasciare in questo modo:
class DropTables < ActiveRecord::Migration
def up
drop_table :table_you_dont_want
end
def down
raise ActiveRecord::IrreversibleMigration
end
end
Per rimuovere la migrazione (se hai già migrato la migrazione)
rake db:migrate:down VERSION="20130417185845" #Your migration version
Per rimuovere Model
rails d model name #name => Your model name
rails d model
è quello che cerco per invertire il mio rails g model
.
Ecco un'implementazione diversa della risposta di Jenny Lang che funziona per Rails 5.
Per prima cosa crea il file di migrazione:
bundle exec be rails g migration DropEpisodes
Quindi popolare il file di migrazione come segue:
class DropEpisodes < ActiveRecord::Migration[5.1]
def change
drop_table :episodes
end
end
La corsa rails db:migrate
farà cadere il tavolo. Se corri rails db:rollback
, Rails genererà un ActiveRecord::IrreversibleMigration
errore.