Qualcuno può spiegarmi per favore qual è la differenza tra le prossime cose?che cosa def self.up, def up, def self.down, def down significa?
- def self.up
- def fino
- def self.down
- def giù
Qualcuno può spiegarmi per favore qual è la differenza tra le prossime cose?che cosa def self.up, def up, def self.down, def down significa?
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.
spiegazione migliore! grazie! –
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ù.
[Questo può aiutare] (http://guides.rubyonrails.org/v2.3.8/migrations.html). – Paul