2013-03-02 15 views

risposta

98

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.

+0

Perfetto, grazie! – bengem

+17

'rake db: test: prepare' è ora deprecato. – Jngai1297

+3

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

32

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.

2

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”

+0

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

+0

Siamo spiacenti, modificato con spiegazioni –

Problemi correlati