Sto seguendo i video tutorial sui binari e non riesco a capire cosa faccia effettivamente il comando db:test:prepare
. Qualcuno può fornire una spiegazione?Che cosa significa rake db: test: preparare effettivamente fare?
risposta
The rake db:migrate above runs any pending migrations on the development environment and updates db/schema.rb. The rake db:test:load recreates the test database from the current db/schema.rb. On subsequent attempts, it is a good idea to first run db:test:prepare, as it first checks for pending migrations and warns you appropriately.
- http://guides.rubyonrails.org/testing.html
Fondamentalmente gestisce la clonazione del database in modo che non è necessario eseguire le migrazioni nei confronti di prova per aggiornare il database di prova.
In particolare, rake db:test:prepare
farà il seguente:
- Controllare per le migrazioni in sospeso e,
- e caricare lo schema di prova
Cioè, apparirà il file db/schema.rb
per determinare se eventuali migrazioni esistenti nel progetto che non sono state eseguite. Supponendo che non ci siano migrazioni in sospeso, caricherà quindi il database vuoto e lo ricaricherà in base al contenuto del file db/schema.rb
.
rake db: test: preparare è una buona soluzione per problemi PG come this.
“PG :: UndefinedTable: ERRORE: relazione non esiste” con un corretto Rails denominazione e la convenzione", in cui non ho potuto solo eseguire rake db:migrate RAILS_ENV=production
Quando, ad esempio, non è possibile creare database di test per un bug discusso here: "PG errore undefinedtable utenti di relazione non esiste"
Tutto arround questo errore "PG :: UndefinedTable: eRRORE: relazione xxxxx non esiste”
Mentre questo link può rispondere alla domanda, è meglio includere le parti essenziali della risposta qui e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. – Patrick
Siamo spiacenti, modificato con spiegazioni –
- 1. Qual è la differenza tra db: test: clone, db: test: clone_structure, db: test: load e db: test: preparare?
- 2. Come funziona effettivamente rake db :: migrate
- 3. Come impedire a Rake test di richiamare l'attività db: test: preparare
- 4. Che cosa deve fare effettivamente OOttimizeForNetworkUse?
- 5. cosa fa effettivamente l'istruzione di assemblaggio 'db'?
- 6. Che cosa significa test API?
- 7. Che cosa significa "var app = app || {};" fare?
- 8. Che cosa significa "git checkout -." fare?
- 9. Che cosa significa il comando "nodo". fare?
- 10. esattamente cosa fa rake db: migrate do?
- 11. Come rake db: drop e rake db: create su Heroku?
- 12. Cosa significa (.: Formato) nell'output di rake route?
- 13. Cosa JVM bandiera CMSClassUnloadingEnabled effettivamente fare?
- 14. Cosa GCC __attribute __ ((modalità (XX)) effettivamente fare
- 15. Cosa significa `T {}` fare Scala
- 16. Cosa significa "return false;" fare?
- 17. rake db: create vs rake db: crea: tutti
- 18. Cosa significa "?" fare in C++?
- 19. Che cosa misura effettivamente GetTickCount()?
- 20. Che cosa è esattamente Rake?
- 21. Che cosa significa fare "$ var = * $ self -> {class_var};"
- 22. Che cosa significa l'operatore% fare in Ruby in N 2%?
- 23. Che cosa significa cin fare quando si verifica un errore
- 24. Che cosa significa questo? operatore in C++ fare?
- 25. Esecuzione db: test: preparazione da un'altra attività rake
- 26. Che cosa significa "dove T: somevalue" significa?
- 27. Cosa fa effettivamente session_register_shutdown?
- 28. Che cosa significa __utma?
- 29. Che cosa significa hibernate.default_schema?
- 30. Che cosa significa "log *"?
Perfetto, grazie! – bengem
'rake db: test: prepare' è ora deprecato. – Jngai1297
sopra url è morto, questo sarebbe il nuovo https://github.com/rails/rails/blob/4-1-stable/activerecord/CHANGELOG.md#rails-410-april-8-2014 – riffraff