Frage

Ich frage mich, wie die Menschen mit allmählich umzusetzen, um Merkmale und Versionen in einer Produktion umzusetzen.Das Szenario ist, wo Sie bereits zwei Versionen von getestetem Code haben, die bereits in der Produktion herrscht, und einer, das ausgeführt werden soll, sind dies die üblichen Probleme ..

    .
  • verschiedene Codeversionen in derselben Schiene-App.
  • verschiedene Versionen von Rails-App während des Rollouts an Benutzer.
  • verschiedene Datenbankstrukturen zwischen der Version
  • Verschieben von Daten in neuen Datenbanken und Servern.

    Hier sind einige Ideen für das oben genannte Diskussionen

      .
    • Wenn Anweisungen mit konstanten Versionsnummern in M, V, C Namen
    • BALANCE an verschiedene App-Server laden (wie man klebrig macht?), RVM
    • haben alte und neue Felder in Tabellen als temporärer oder migrieren Sie Datensätze an neue Tische oder
      Datenbanken.
    • Keine einfache Möglichkeit, Daten zwischen zu bewegen Server.
War es hilfreich?

Lösung

It sounds like you need a good branching and merging strategy. If you're using something like Git or SVN, then anything on master or trunk, respectively, should be production-ready quality. If you're running into situations where the AbcController is good and ready to go, but XyzController is flaky, then the XyzController probably needs more testing and shouldn't be in master yet.

Migrations in rails also follow this policy, which lead to your data structure. If you think that you're ready for production, then there should't be significant changes to your database. Maybe you need to add a column or feature, but you should be well past wholesale database refactorings.

Finally, uploading/updating data is a pain in any migration situation. In my experience, it involves writing SQL scripts to perform the moves, or update the database for some new feature. Those SQL scripts should also be under your source control. Rails can make this easier, by writing your migration scripts in the migration file itself. Depending on your exact situation, this can work.

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