Quelqu'un peut-il m'expliquer s'il vous plaît quelle est la différence entre les prochaines choses?qu'est-ce que def self.up, def up, def self.down, def down signifie?
- def self.up
- def up
- def self.down
- def vers le bas
Quelqu'un peut-il m'expliquer s'il vous plaît quelle est la différence entre les prochaines choses?qu'est-ce que def self.up, def up, def self.down, def down signifie?
self.up
et up
contient le code qui est exécuté par les migrations lorsque vous effectuez rake db:migrate
. self.up
est une ancienne version de up
. Je ne suis pas sûr quand ils ont présenté cela, mais jusqu'à 3.0, ils utilisaient self.up
.
self.down
et down
doit contenir le code qui inverse l'effet des méthodes up
. donc si vous avez créé une table sur up
, vous devez supprimer cette table sur down
. Ces méthodes sont appelées lors de l'exécution rake db:rollback
.
Il existe en fait une nouvelle méthode sur les migrations appelée change
qui est généralement utilisée s'il est facile pour les rails de déterminer le contraire de ce que vous faites, par exemple créer des tables.
meilleure explication! Je vous remercie! –
def self.up
est une méthode de classe (vous pouvez l'envoyer à la classe: Klass.up
), def up
est une méthode normale (vous pouvez l'envoyer à un objet). Pareil pour bas.
[Ceci peut aider] (http://guides.rubyonrails.org/v2.3.8/migrations.html). – Paul