127 votes

Que fait réellement rake db: test: prepare?

Suivre les vidéos de tutoriels et ne peut pas comprendre ce que fait réellement la commande db: test: prepare ?

120voto

Richard Brown Points 7716

Le rake db:migrate ci-dessus s'exécute tout en attendant des migrations sur le environnement de développement et de mises à jour db/schema.rb. Le râteau db:test:charge recrée la base de données de test à partir de l'actuel db/schema.rb. Sur les tentatives ultérieures, il est une bonne idée de la première exécution db:test:préparer, il vérifie d'abord pour l'attente des migrations et met en garde vous de façon appropriée.

-- http://guides.rubyonrails.org/testing.html

Fondamentalement, il gère le clonage de la base de données de sorte que vous n'avez pas à exécuter les migrations à l'encontre de test de mise à jour de la base de données de test.

42voto

Kevin Bedell Points 7697

Plus précisément, rake db:test:prepare procèdera comme suit:

  • Vérifier les migrations en attente et,
  • et charger le schéma de test

C'est-à-dire que votre fichier db/schema.rb examinera si des migrations existantes dans votre projet n'ont pas encore été exécutées. En supposant qu'il n'y ait pas de migrations en attente, il chargera ensuite vide la base de données et le rechargera en fonction du contenu du fichier db/schema.rb .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X