В базе данных разработки у меня включено отслеживание phpMyAdmin для всех таблиц.Он регистрирует все изменения, которые я делаю в структурах таблиц (в данном случае меня не интересует отслеживание данных.) Пока все хорошо.
Что я хочу сделать, так это вынести отчет,для ВСЕХ отслеживаемых таблиц с изменениями, внесенными в конкретную версию (или даже в дату), чтобы я мог запустить результирующий SQL в моей производственной базе данных при обновлении до новых версий и убедиться, что базы данных идентичны,без беспокойства об ошибках, которые приходят с ручной обработкой этого.
Однако, я не могу найти функцию, которая генерирует такой отчет.Все отчеты об отслеживании предназначены для отдельных таблиц, и, если мне нужно просмотреть все таблицы (более 20), это лишает возможности использовать эту функцию.Все таблицы не меняются, но я не хочу отслеживать, что изменилось, это то, что я хочу, чтобы phpMyAdmin сделал для меня.
Я попытался сделать свой собственный запрос к таблице pma_tracking, гдеИзменения сохранены и имели частичный успех.Проблема в том, что все изменения для одной версии хранятся как один большой двоичный объект, и с каждой новой версией делается оператор DROP TABLE / CREATE TABLE, и я не могу удалить таблицы на производственной базе данных, поскольку там есть данные (яне воссоздавать базу данных каждый раз, только добавляя дополнительные изменения).Я просто хочу обновить структуру, и единственный раз, когда мне нужны операторы CREATE TABLE, это когда я фактически создаю новую таблицу в базе данных.Поэтому я подумал, что смогу отфильтровать их с помощью SQL, но тогда он будет сохранен в виде блога, и тогда мне придется анализировать и связываться с текстом большого двоичного объекта, который кажется слишком сложным.
Итак, вкратце, этовот что я ищу:
- Автоматизированная система отслеживания / рабочий процесс, который регистрирует все обновления структуры и может создавать инкрементные отчеты SQL для всей базы данных из версии или момента времени.
- Я бы предпочел не использовать какие-либо дополнительные сторонние приложения (я бы хотел использовать только phpMyAdmin или MySQL), если это возможно
Кроме того, я хотел бы получить комментарии к рабочему процессу, еслиу кого-то есть идеи лучшего.Любая помощь приветствуется.