2009-09-26 6 views
0

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

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

Спасибо, Sebastian

ответ

2

Прежде всего, проверьте here. Версия программы 0.1.1, и она не обновляется за 701 дней. Не внушает доверия.

3

Я решил эту точную проблему на нашем сервере, используя (My) SQL, скрипт Bash и SVN.

Сценарий Bash выполняет следующие действия:

  1. Выполните обновление SVN на определенной папке;
  2. Экспортировать базу данных в файл SQL;
  3. Заключить файл SQL в SVN.

Просто выполните сценарий, используя cron. Мы каждую ночь в полночь сбрасываем резервную копию SVN.

cd /[PATH]/server_backup 
svn --username [USERNAME] --password [PASSWORD] update --non-interactive 
insert --skip-comments > database.sql 
mysqldump [DATABASE] -u[USERNAME] -p[PASSWORD] --skip-extended-insert --skip-comments > database.sql 
svn --username [USERNAME] --password [PASSWORD] commit --message "Server backup" --non-interactive 
+0

Чтобы избежать конфликтов SVN, вы можете рассмотреть возможность добавления строки, которая помечает файл как разрешенный до его замены. –

+0

Но это делает весь дамп базы данных. Я хотел бы получить diff для одиночных изменений столбца и т. Д. –

+0

Я не могу придумать для этого решение. Вышеупомянутый сценарий Bash служит для ежедневной версии базы данных SVN. В этом смысле это не поможет вам, если вы не готовы просмотреть разницу в файле sql и выполнить все изменения вручную. Это либо это, либо импорт, и перезапись существующей базы данных. –

Смежные вопросы