2012-04-09 9 views
20

Diese Frage mag blöd klingen, aber ich finde keine Anleitung dazu, wie man eine Evolution in Play 2.0 zurücksetzt. Google findet nur Seiten, die sagen, dass der Abschnitt "Downs" einer Evolution-Datei dafür verwendet wird und das ist alles. Alle Hinweise oder Anweisungen werden geschätzt.Eine Evolution zurückrollen

+0

Haben Sie dieses Dokument gesehen? http://www.playframework.org/documentation/2.0/Evolutions –

+5

Ja, ich habe es gelesen, aber es sagt kein Wort über die Umkehrung einer Evolution, mit dem Abschnitt "Downs!". Ich könnte etwas vermissen, aber wirklich, das einzige etwas entfernt relevante Thema ist im letzten Note Absatz berührt, wo es sagt "Im Entwicklungsmodus ist es jedoch oft einfacher, einfach Ihre Entwicklungsdatenbank zu verwerfen und alle Entwicklungen von Anfang an erneut anzuwenden." . Bitte sag mir, wenn ich falsch liege. – noncom

Antwort

19

Der Downs Teil wird hauptsächlich verwendet, um eine Evolution zurückzusetzen, wenn sich das Skript geändert hat. Das heißt, Sie haben ein Projekt mit 2.sql auf die Datenbank angewendet und dann aufgrund einer Zusammenführung 2.sql in der Quelle geändert. Play wird Downs auf der alten Version und dann Ups auf der neuen 2.sql laufen, um sicherzustellen, dass die Datenbank mit der Codebasis synchron ist.

Soweit ich weiß, gibt es keine Möglichkeit Downs selbst ausgelöst werden soll, wie der Zweck einer Entwicklung, die Datenbank vorzubereiten, ist mit Ihrem Code zu arbeiten, und Schritt nur ein Downs Anwendung würde die Anwendung verlassen in einem inkonsistenten Zustand mit vielen möglichen Fehlern.

Wenn Sie wirklich etwas zurücksetzen müssen, wäre das eine neue Evolution (3.sql), wo Ups würde die erforderlichen Änderungen tun.

+2

Was ist der Zweck von '# ---! Downs 'Abschnitt in den Entwicklungen? – tuxdna