Вопрос

Интересно, как люди имеют дело с постепенно выкатыванием особенностей и версий в производстве.Сценарий - это то, где у вас есть две версии проверенного кода, один уже в производстве, и один, который будет выведен, это общие проблемы ..

    .
  • Разные версии кода в одном приложении Rails.
  • Разные версии приложения Rails во время развертывания для пользователей.
  • Разные структуры базы данных между версией
  • Перемещение данных по новым базам данных и серверам.

    Вот некоторые идеи для приведенного выше для обсуждения

      .
    • Если утверждения с постоянными, номерами версий в M, V, C имени
    • Загрузить баланс на разные серверы приложений (как сделать Sticky?), RVM
    • есть старые и новые поля в таблицах как временные или миграция записей в новые таблицы или
      базы данных.
    • Нет простого способа перемещать данные между серверы.
Это было полезно?

Решение

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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top