Назад | Перейти на главную страницу

Как развернуть изменения в промежуточной базе данных, сохранив ее синхронизацию с производственной основной базой данных?

Я хочу настроить промежуточный сервер для окончательного тестирования моего сайта. База данных промежуточного сайта реплицирует базу данных производственного мастера mysql, чтобы отразить реальную среду.

Если развертывание содержит только изменения кода, его легко развернуть сначала в промежуточную, а затем в производственную, если она достаточно стабильна.

Но если развертывание содержит изменения базы данных, как я могу развернуть его в промежуточном режиме, не влияя на базу данных мастера, но при этом сохраняя синхронизацию в реальном времени с основной базой данных?


Редактировать:

Если это невозможно. Как сделать так, чтобы данные записывались на промежуточный сервер без потери данных? Если какой-то пользователь использует бета-сайт, я не хочу, чтобы их данные были потеряны, когда постановка наконец станет стабильной.

Интересно, как facebook или google развертывают свои новые функции без потери данных бета-тестера?

Вы не можете.

Я предлагаю не копировать производственную базу данных в промежуточную, а время от времени перестраивать промежуточную базу данных с одним из ваших производственных файлов резервных копий. Затем вы работаете с производственными данными (хотя и давностью несколько часов или дней), но изменения, которые вы вносите на стадии подготовки, не повлияют на производство.

РЕДАКТИРОВАТЬ: С вашим редактированием это теперь существенно другой вопрос.

Если у вас есть бета-тестеры, использующие ваш промежуточный сервер и ожидающие, что их данные будут запущены в производственную среду, это не промежуточный сервер: это рабочий сервер. Я думаю, что это фундаментальный сдвиг в концепции, затрудняющий ответить на этот вопрос; большинство из нас (я думаю) считает промежуточный сервер этч-а-скетчем, который можно без страха выгружать и перестраивать. Если вы планируете разрешить некоторым пользователям проводить бета-тестирование ваших изменений и сохранять свои данные при переходе в производственную среду, вам нужна другая среда, чем стадия / продакшн.

EDIT2: вот несколько вопросов о переполнении стека, которые касаются такого рода настроек: