Как объединить данные из схем MySQL, которые разошлись?

У меня есть два сервера, которые имеют исходную кодовую базу предков, но которые изменились за последние пару месяцев с точки зрения схемы базы данных (я использую mysql). Я собираюсь использовать второй в качестве моего нового рабочего сервера, но мне нужно обновить данные (есть новые пользователи, есть новые данные, связанные с этими пользователями и т. Д.). Я хочу, чтобы данные на сервере, который сейчас работает, но имеют старую схему, имеют полномочия, но я хочу, чтобы схема на новой была последней. Так что это своего рода странное слияние: я хочу, чтобы данные со старого сервера были импортированы на новый сервер с (не сильно) другой схемой.

Я думал о том, чтобы просто сделать дамп сервера с самыми последними данными, но затем загрузка его не будет работать, так как схема немного изменилась.

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

Я работаю на Mac OS X, и оба моих сервера являются Debian.

2 ответа

Решение

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

Поскольку вы упомянули, что схемы не сильно отличаются друг от друга, просто сделайте mysqldump без данных (т.е. только таблиц) каждого сервера и сравните вручную (например, с diff) скажу вам, что столбцы разные. Затем вы можете применить эти изменения с ALTER на старой базе данных.

Это все немного глупо, но, в конце концов, на самом деле нет нехорошего способа сделать это.

Смотрите здесь: http://bitbucket.org/idler/mmp - это инструмент для управления версиями схемы MySQL, но только схема, а не данные. Сначала вы должны перенести свою схему, а затем загрузить новые данные.

Другие вопросы по тегам