Поддержание синхронизации локальной БД MySQL с работающей БД (MySQL Replication?) - PullRequest
7 голосов
/ 10 июня 2010

В данный момент у меня есть большая производственная база данных (7 ГБ +), большая часть данных, необходимых для тестирования моих веток разработки, должна быть актуальной.

Я хотел бы создать локальную БД, чтобы яможет реализовать CI-сервер и иметь базу данных разработки, отдельную от рабочей базы данных, однако с базой данных такого размера, как я могу гарантировать, что она всегда синхронизирована?

Я думал о репликации, но что, если соединениевплоть до моего локального сервера, или я изменил структуру БД, как это повлияет на репликацию?

Спасибо,

Гэвин

Ответы [ 2 ]

4 голосов
/ 10 июня 2010

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

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

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

Итак, я рекомендую восстанавливать производственную резервную копию вручную и только тогда, когда это необходимо. Настройте работу, чтобы выполнить работу, и просто запустите ее по мере необходимости (не ставьте ее в расписание). Разработка по мере необходимости, используя текущие данные, пока вы можете. Когда вам нужно обновить, убедитесь, что вы внедрили / сохранили в файлы все свои изменения разработки, а затем восстановите резервную копию для разработки. Если вы сделали «релизы» в производство, то восстановите после этого. Вам нужно будет определить, что работает лучше всего. Тем не менее, просто убедитесь, что вы не потеряете изменения в разработке при восстановлении!

Если вам нужна обновленная локальная версия для поддержки и отладки производственных проблем, настройте базу данных «Поддержка» и используйте репликацию. Не занимайтесь там разработкой, имейте специальную базу данных для разработки.

0 голосов
/ 10 июня 2010

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

...