Ich folge den Rails Tutorial Videos und ich kann nicht herausfinden, was der db:test:prepare
Befehl tatsächlich tut. Kann jemand eine Erklärung geben?Was macht Rake db: test: vorbereiten eigentlich?
Antwort
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
Grundsätzlich behandelt es die Datenbank klonen, so dass Sie die Testdatenbank nicht über die Migrationen gegen Test ausführen müssen, um zu aktualisieren.
Insbesondere wird tun rake db:test:prepare
folgendes:
- prüfen anstehenden Migrationen und
- und laden Sie das Testschema
Das heißt, es wird Ihre db/schema.rb
Datei aussehen, wenn zu bestimmen, alle Migrationen in Ihrem Projekt, die noch nicht ausgeführt wurden. Angenommen, es gibt keine ausstehenden Migrationen, wird die Datenbank leer geladen und basierend auf dem Inhalt der Datei db/schema.rb
neu geladen.
rake db: test: Vorbereitung ist eine gute Lösung für PG Themen wie this.
„PG :: UndefinedTable: ERROR: Beziehung existiert nicht“ mit einem korrekten Rails Benennung und Konvention“, wo ich konnte nicht einfach rake db:migrate RAILS_ENV=production
ausführen Wenn zum Beispiel Sie nicht Testdatenbank für ein erstellen Fehler diskutiert here: "PG undefinedtable Fehler Beziehung Benutzer existiert nicht"
Alle arround diesen Fehler
Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile zu integrieren der Antwort hier und stellen Sie den Link als Referenz zur Verfügung. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. – Patrick
Sorry, mit Erklärungen bearbeitet –
- 1. Rails: rake db: test: Vs Rake Test vorbereiten:
- 2. Was macht die Montageanweisung 'db' eigentlich?
- 3. genau was macht Rake db: Migration tun?
- 4. Was macht eigentlich kCGWindowSharingState * *?
- 5. Was macht Dateisatz eigentlich?
- 6. Was macht session_register_shutdown eigentlich?
- 7. Was macht Process.Dispose() eigentlich?
- 8. Was macht -arrayWithArray eigentlich?
- 9. Was macht glutTimerFunc() eigentlich?
- 10. Was macht CascadeType.REFRESH eigentlich?
- 11. Was macht "__COMPAT_LAYER" eigentlich?
- 12. Was macht StreamingContextStates.Clone eigentlich?
- 13. Was macht addChildViewController eigentlich?
- 14. Was macht BlockingCollection.Dispose eigentlich?
- 15. Was macht TwoPassFilter GPUImage eigentlich?
- 16. Expression.Bind() - was macht es eigentlich?
- 17. Was macht ifstream :: rdbuf() eigentlich?
- 18. Was macht Pythons __file__ eigentlich?
- 19. Was macht XCode 'Clean' eigentlich?
- 20. Was macht regsvr32 dateiname.ax eigentlich?
- 21. Was macht 'Bündel Exec Rake' gegen Rake?
- 22. Rake db: Test: Laden funktioniert nicht
- 23. Was macht die python print() Funktion eigentlich?
- 24. Was macht Dns.GetHostEntry-Methode (String) eigentlich?
- 25. Was macht "Register for COM Interop" eigentlich?
- 26. Was macht eigentlich "Main Interface" in Xcode *?
- 27. Was macht std :: ofstream :: close() eigentlich?
- 28. PrimeFaces Datatable - Was macht f: Facette eigentlich?
- 29. Was macht die Option -Xss JVM eigentlich?
- 30. Was macht registerHTTPOperationClass in AFNetworking eigentlich?
Perfect „PG :: UndefinedTable: eRROR Beziehung xxxxx existiert nicht“, danke! – bengem
'Rake db: test: prepare' ist jetzt veraltet. – Jngai1297
über url tot ist, würde dies die neue https://github.com/rails/rails/blob/4-1-stable/activerecord/CHANGELOG.md#rails-410-april-8-2014 sein – riffraff