LINUX.ORG.RU

История изменений

Исправление Pinkbyte, (текущая версия) :

Уже 200 раз разжевали же. Кроме как дополнить вариантом где в БД хранится некий scheme_version, равный например 1 для старой схемы и 2 для новой - ничего не могу предложить. А приложение соответственно переписать так, чтобы в зависимости от scheme_version - использовались возможности либо старой версии, либо новой.

Но есть 2 проблемы:

а) такое надо закладывать при проектировании;
б) если по-быдлятски реализовать сейчас - переход со схемы без версии на схему с версией чреват многими многими багами(и я тут даже не про отсутствие в схеме scheme_version - нет переменной, считай равной нулю, делов-то). И c zero downtime тут не получится.

Вообще, ИМХО, zero downtime надо или закладывать сразу(обычно - дорого), либо быть готовым к простою при переходе на систему где простоев при апгрейде больше не будет(в идеале).

Исходная версия Pinkbyte, :

Уже 200 раз разжевали же. Кроме как дополнить вариантом где в БД хранится некий scheme_version, равный например 1 для старой схемы и 2 для новой - ничего не могу предложить. А приложение соответственно переписать так, чтобы в зависимости от scheme_version - использовались возможности либо старой версии, либо новой.

Но есть 2 проблемы:

а) такое надо закладывать при проектировании;
б) если по-быдлятски реализовать сейчас - переход со схемы без версии на схему с версией чреват многими многими багами. И c zero downtime тут не получится.

Вообще, ИМХО, zero downtime надо или закладывать сразу(обычно - дорого), либо быть готовым к простою при переходе на систему где простоев при апгрейде больше не будет(в идеале).