2013-02-07 12 views

risposta

10

self.up e up contiene il codice eseguito dalle migrazioni quando si esegue rake db:migrate. self.up è una versione precedente di up. Non sono sicuro quando hanno introdotto questo, ma fino al 3.0, stavano usando self.up.

self.down e down devono contenere il codice che inverte l'effetto dei metodi up. quindi, se hai creato una tabella su up, devi lasciarla su down. Questi metodi vengono chiamati quando si esegue rake db:rollback.

Esiste un nuovo metodo sulle migrazioni denominato change che viene in genere utilizzato se è facile per i binari determinare l'opposto di ciò che si sta facendo come creare tabelle.

+0

spiegazione migliore! grazie! –

3

def self.up è un metodo di classe (è possibile inviare alla classe: Klass.up), def up è un metodo normale (è possibile inviarlo a un oggetto). Lo stesso per giù.

Problemi correlati