Frage

Wenn es um das Lesen und Spielen mit Rails im vergangenen Jahr eines der Werkzeuge, die auf mich den stärksten Eindruck machte, war Rake. Ein Datenbank Versionierungssystem, das DBs identisch integrieren rechts in die Build ... so etwas wie, dass alle Entwickler hält wäre das Leben so viel einfacher (und sicherer)!

Allerdings ist eines der Dinge, die ich habe, um herauszufinden, nicht in der Lage: Wie Sie diese Änderungen auf Ihre Produktionsserver verschieben, wenn Sie tatsächlich keinen Zugriff auf den Produktionsservern haben? Wir haben mehrere Server im ganzen Land, dass, wenn die Anwendung installiert ist / durch ein Setup-Paket aktualisiert.

Hinweis: Diese Frage ist mehr über Strategie als Rails / Rake spezifische Technologien. Wir verwenden keine Schienen, verwenden wir .Net. Aber wenn ich diese veröffentlicht Szenario herausfinden kann, scheint es mehr Werkzeuge Migratordotnet als eine zu sein das könnte es uns ermöglichen, etwas ähnliches zu tun.

War es hilfreich?

Lösung

Wie Sie wahrscheinlich wissen, ist der Standard-Rails Weg Migrationen in der Produktion von Laufe Capistrano . Es hat eine deploy. Migrationen Aufgabe, die die Migrationen auf Remote-Servern mit ssh läuft

Möglicherweise können Sie Capistrano anpassen zu tun, was Sie wollen. Es ist im Wesentlichen eine flexible Möglichkeit, Befehle auf Gruppen von Remote-Servern ausgeführt werden. Sie müssen haben Rubin auf dem Rechner installiert Sie bereitstellen , um es zu benutzen, aber nicht auf den Maschinen Sie bereitstellen .

Ihre beste Option sein kann, eine benutzerdefinierte Capistrano Aufgabe zu schreiben, die setup.exe zu laden, es läuft, dann läuft die Migrationen (vielleicht mit Migrator.NET).

Andere Tipps

Das könnte Sie der Lage sein, etwas zu verwenden, wie Red Gate SQL vergleichen Schema diff-Skripte zu erzeugen, die Ihnen erlauben würde, den Prozess der Aktualisierung der Datenbank zu automatisieren. Ich habe das Werkzeug manuell zu tun, solche Änderungen verwendet und leicht konnte sehen, ein Programm zu erstellen, die diese Updates im Rahmen des Upgrade-Prozesses laufen würden. Wenn ich es automatisieren würde, obwohl, würde ich in etwas entwerfen, die mich ermöglichen würden, zu überprüfen, welche Version des Schemas vorhanden war und die notwendigen Skripte in der richtigen Reihenfolge, es zu bringen, die die gewünschte Version mit starten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top