2011-08-18 7 views
93
rails g model Rating user_id:integer message:string value:integer 

Come posso rimuovere completamente questo modello? GrazieRimozione di un modello in rotaie (al contrario di "rails g modello Titolo ...")

+4

di Mikhail sotto di un si applica a un modello creato nell'ultima migrazione. Coloro che vogliono rimuovere un modello e il suo tavolo che sono stati in giro per un po ', [questo thread] (http://stackoverflow.com/questions/15648268/what-is-the-best-way-to-drop-a -table-remove-a-model-in-rails-3) descrive esattamente cosa fare. – Ninjakannon

risposta

42

Prova questa

rails destroy model Rating 

rimuoverà modello, la migrazione, i test e infissi

+3

Rimuove tutto, ma non crea migrazione downgrade o qualcosa del genere. –

169
bundle exec rake db:rollback  
rails destroy model <model_name> 

Quando si genera un modello, crea una migrazione di database. Se si esegue 'destroy' su quel modello, si cancellerà il file di migrazione, ma non la tabella del database. Quindi, prima di eseguire

bundle exec rake db:rollback 
+0

:(Leggi la prima riga e l'ho fatto, è stata colpa mia, ma una risposta corretta potrebbe aver aiutato –

+1

d'accordo, ho modificato la mia risposta :) –

+0

grazie :) Sto faticando a sistemare il mio casino ora –

22

Per interroganti futuri: Se non è possibile eliminare le tabelle dalla console, cercare di creare una migrazione che scende le tabelle per voi. È necessario creare una migrazione e quindi nelle tabelle di nota file che si vuole cadere in questo modo:

class DropTables < ActiveRecord::Migration 
    def up 
    drop_table :table_you_dont_want 
    end 

    def down 
    raise ActiveRecord::IrreversibleMigration 
    end 
end 
+0

Ottima risposta, si comporterà come previsto con una distribuzione capistrano. – LessQuesar

9
  1. Per rimuovere la migrazione (se già migrato la migrazione)

    rake db:migrate:down VERSION="20130417185845" #Your migration version 
    
  2. Per rimuovere Modello risposta top

    rails d model name #name => Your model name 
    
+0

'rails d model' è ciò che sto cercando di invertire il mio' rails g model'. –

Problemi correlati