Ситуация: есть некоторая абстрактная сборка Друпал
Сборка настроена от а до я, что подразумевает использование дампа БД. В процессе тестинга вносятся правки как в код, так и в БД.
С патчем файлов всё ясно, чего не скажешь про БД.
Посоветуйте софт для Mysql который:
1) Желательно фриварный
2) позволяет сравнивать два варианта .sql дампа и создавать патч в виде готового к выполнению .sql запроса, который можно выполнить, скажем в PhpMyAdmin
Кто-то практически таким занимался?
Пока присматриваюсь к такой утилите http://www.mysqldiff.org, интересуют альтернативы
Комментарии
Может поможет http://sypex.net, но вроде сравнения нет. Есть разные способы восстановления.
Я так понимаю Вы тестировать на своей банке будете.
Что Вам мешает воспользоваться стандартными средствами mysql?
Ведете бинарный лог, туда все изменения сыпятся, потом делаете mysqlbinlog --database=drupal и результат отправляете в phpmyadmin
Правда, не совсем понятно, зачем Вам это надо. Даже если абстрактная сборка большая и лежит где-то далеко, почему нельзя сделать drop и залить туда свежий дамп, если она "мертвая" - т.е. не активная.
Если же Вы ищете способ вносить изменения в "живой" сайт, правя и тестируя его локально, то такого решения готового нет, я сам отслеживал на друпал.орг такую идею - есть живой сайт, есть копия для теста / разработки, как залить изменения на живой, не потеряв новый материал (новые ноды, связи, комменты) - предлагалось делать что-то вроде "чет" и "нечет" для нод, но законченного решения насколько мне известно так и не выложили.
Оффтоп: давайте на "вы" с маленькой буквы
Зачем это надо:
Я делаю сборку, настраиваю полностью (все знают, что такое "настроить полностью" в Друпале
У меня получились файлы и дамп БД. Это я даю человеку, который ставит сборку у себя, на живой сайт. Теперь мы работаем параллельно: я занимаюсь ловлей блох в сборке, он - развитием своего сайта.
Проходит время, я выкладываю новый релиз сборки. Естественно, мой дамп и дамп того человека кардинально отличается. Если я дам дамп из нового релиза и человек тупо загрузит, его наработкам конец, т.к данные затрутся.
Изменения в дампе с моей стороны не будут затрагивать ту часть БД, которая связана с обычным созданием контента
Ммм... как то сложновато
Это очень обширная и трудоемкая работа )))
Использовать репликацию Master-Master возможно - но чтоб все настроить можно потерять и время и желание
Имхо, в данном случае все тяжело сделать автоматически... Вы сами должны понять, чем отличается принципиально ваша таблица/бд от старой и писать свои обработки вручну.... Иначе все эти автоматики могу завести в такую яму...
В модулях для Drupal кстати это предусмотрено, при помощи механизма update.php
Features
Strongarm
Третий модуль Софтовик скажет
Briefcase ?
Я просмотрел кое-чего по теме на и понял, что всё не так просто. Есть десяток модулей на д.орг, так или иначе касающихся данной тематики
По статистике использования лидирует Features. Однако что-то мне говорит, что он экспортирует далеко не все настройки сайта. С дампом просто - перенёс и забыл. В то же время риск серьёзно напортачить
Вообщем сижу туплю в раздумьях. Кто использует Features, как впечатления?
Features, однозначно! Все что не может Features делается через install-файлы модуля и update.php.
Сборка не подразумевает дампа базы данных. Это уже готовый сайт.
Сборка, ИМХО, — набор модулей и инсталляционный профиль, которые во время установки создают записи в БД.
Отличным примером сборки есть Drupal Commons, там можно глянуть как все организовано.
Пипец, я в шоке, модули разрастаются как грибы
1) Установить Features
2) Установить Strongarms
3) Ctools (ещё 500 кб кода)
Заебал этот Друпал, если честно. Гора кода, которая ели шевелится, с куцым нужным и кучей ненужного функционала.
Будь проклят день, когда я с этим связался. Сука,блять
Хотя нет, я ошибся, Ctools распакованый весит 2 метра. Два ебучих мегабайта ассистируют модулю в 50 кб