2010-10-12 12 views
5

Ho creato 2 modelli e ho eseguito le migrazioni, ho provato a lavorare su ciascuno di essi e ora vorrei ricominciare da capo e affrontarli in modo diverso. Sono nuovo di Rails e non ho mai tentato di eliminare/rimuovere le tabelle del database (a parte il riavvolgimento subito dopo averle migrate).Rails 3 - Come rimuovere le tabelle del database che sono state create?

Grazie!

+0

Vedere la risposta più alta alla domanda [Rotaie - Come ricreare il database] [1]. [1]: http://stackoverflow.com/questions/4116067/rails-how-to-recreate-the-database –

risposta

1

Se non avete mai commesso i cambiamenti o distribuita l'applicazione, si può semplicemente rimuovere i file di modello e rimuovere le tabelle dal database utilizzando la console del database (supponendo che sia sqlite3 digitare sqlite3 per entrare nella console della shell) o una GUI di amministrazione del database.

In caso contrario, sarà necessario utilizzare la migrazione drop_table per riflettere le modifiche sul sistema di produzione.

+0

Grazie. Mi stavo chiedendo se potevo usare SQLite DB Browser per eliminare solo le tabelle. Posso eliminare anche i vecchi file di migrazione? – teecraft

6

Per eliminare una tabella durante una migrazione, è possibile rails g migration DropUsers

class DropUsers < ActiveRecord::Migration 
    def up 
    drop_table :users 
    end 

    def down 
    # recreate table logic here 
    end 
end 

È possibile anche eliminare tabelle dalle rotaie console

ActiveRecord::Migration.drop_table(:users) 

FYI Se si desidera rimuovere il codice creato dallo scaffold, rails destroy scaffold User

Problemi correlati