Постоянно обновлять базу данных mysql

#php #mysql #diff

#php #mysql #разница

Вопрос:

В настоящее время я разрабатываю новый сайт, который заменит текущую систему моего клиента. План состоит в том, чтобы переместить небольшое подмножество пользователей на новый сайт, а затем переместить оставшихся пользователей через месяц. В течение этого времени данные для новой системы будут очищены и добавлены, в то время как текущая система все еще будет использоваться. Новая система имеет совершенно другую схему базы данных, и я написал некоторый php-код для переноса данных текущей системы в новую. Проблема в том, что когда мне нужно повторно перенести данные с текущего сайта через месяц, я не хочу перезаписывать какие-либо изменения, которые были сделаны на новом сайте.

Я думал, что что-то подобное может сработать:

  1. Перенесите все данные в новую базу данных и сделайте ее резервную копию.

  2. Очистите ее, добавляйте к ней в течение месяца, затем создайте резервную копию непосредственно перед шагом 3

  3. Повторно перенесите все данные из текущей системы, создайте резервную копию

  4. Каким-то образом измените данные на шагах 1 и 3.

  5. Объедините все новые данные с шага 4 в данные с шага 2.

Имеет ли смысл этот мыслительный процесс? Есть ли какие-либо лучшие решения? В шагах 4 и 5 я немного запутался. Я немного просмотрел форум, и, похоже, есть некоторые инструменты, которые могут этого достичь (toad, разница в командной строке). Есть ли у кого-нибудь опыт выполнения чего-либо подобного?

Ответ №1:

Лучший способ — перенести все это сразу. Если вы протестировали ее полностью, все должно быть в порядке.

Перенос небольшого фрагмента базы данных, а через месяц всего остального — просто плохая идея, разница после этого — это (может быть) просто ад.

Если новая система слишком сильно отличается от старой, вы также можете выполнить свой план, но это может вызвать проблемы.

Комментарии:

1. Согласен, поскольку прямая миграция будет проще с точки зрения управления базой данных. Я действительно вижу ценность в запуске пилотной программы для тестирования и проверки новой системы перед полным отключением, но с точки зрения целостности данных это кошмар. Конечно, насколько велик кошмар, зависит от реальной природы системы — если нет данных, которыми делятся пользователи, и все индексируется по идентификатору пользователя, это было бы легко (просто сначала перенесите опытных пользователей, а остальные позже), но иметь дело с общими данными? Беспорядочно, независимо от того, как вы это делаете.