Софт для создания патча MySql дампа.

Главные вкладки

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 10 декабря 2010 в 1:49

Ситуация: есть некоторая абстрактная сборка Друпал

Сборка настроена от а до я, что подразумевает использование дампа БД. В процессе тестинга вносятся правки как в код, так и в БД.

С патчем файлов всё ясно, чего не скажешь про БД.

Посоветуйте софт для Mysql который:
1) Желательно фриварный
2) позволяет сравнивать два варианта .sql дампа и создавать патч в виде готового к выполнению .sql запроса, который можно выполнить, скажем в PhpMyAdmin

Кто-то практически таким занимался?

Пока присматриваюсь к такой утилите http://www.mysqldiff.org, интересуют альтернативы

Комментарии

Аватар пользователя andribas@drupal.org andribas@drupal.org 10 декабря 2010 в 6:43

Я так понимаю Вы тестировать на своей банке будете.
Что Вам мешает воспользоваться стандартными средствами mysql?
Ведете бинарный лог, туда все изменения сыпятся, потом делаете mysqlbinlog --database=drupal и результат отправляете в phpmyadmin
Правда, не совсем понятно, зачем Вам это надо. Даже если абстрактная сборка большая и лежит где-то далеко, почему нельзя сделать drop и залить туда свежий дамп, если она "мертвая" - т.е. не активная.
Если же Вы ищете способ вносить изменения в "живой" сайт, правя и тестируя его локально, то такого решения готового нет, я сам отслеживал на друпал.орг такую идею - есть живой сайт, есть копия для теста / разработки, как залить изменения на живой, не потеряв новый материал (новые ноды, связи, комменты) - предлагалось делать что-то вроде "чет" и "нечет" для нод, но законченного решения насколько мне известно так и не выложили.

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 10 декабря 2010 в 13:19

"<a href="mailto:andribas@drupal.org">andribas@drupal.org</a>" wrote:
Правда, не совсем понятно, зачем Вам это надо. Даже если абстрактная сборка большая и лежит где-то далеко, почему нельзя сделать drop и залить туда свежий дамп, если она "мертвая" - т.е. не активная.

Оффтоп: давайте на "вы" с маленькой буквы Smile

Зачем это надо:

Я делаю сборку, настраиваю полностью (все знают, что такое "настроить полностью" в Друпале Smile

У меня получились файлы и дамп БД. Это я даю человеку, который ставит сборку у себя, на живой сайт. Теперь мы работаем параллельно: я занимаюсь ловлей блох в сборке, он - развитием своего сайта.

Проходит время, я выкладываю новый релиз сборки. Естественно, мой дамп и дамп того человека кардинально отличается. Если я дам дамп из нового релиза и человек тупо загрузит, его наработкам конец, т.к данные затрутся.

"<a href="mailto:andribas@drupal.org">andribas@drupal.org</a>" wrote:
есть живой сайт, есть копия для теста / разработки, как залить изменения на живой, не потеряв новый материал (новые ноды, связи, комменты)

Изменения в дампе с моей стороны не будут затрагивать ту часть БД, которая связана с обычным созданием контента

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 10 декабря 2010 в 13:20

"<a href="mailto:andribas@drupal.org">andribas@drupal.org</a>" wrote:
Ведете бинарный лог, туда все изменения сыпятся, потом делаете mysqlbinlog --database=drupal и результат отправляете в phpmyadmin

Ммм... как то сложновато

Аватар пользователя adamant08 adamant08 10 декабря 2010 в 13:44

Это очень обширная и трудоемкая работа )))
Использовать репликацию Master-Master возможно - но чтоб все настроить можно потерять и время и желание Smile

Аватар пользователя Softovick Softovick 10 декабря 2010 в 13:37

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

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 10 декабря 2010 в 17:41

Я просмотрел кое-чего по теме на и понял, что всё не так просто. Есть десяток модулей на д.орг, так или иначе касающихся данной тематики

По статистике использования лидирует Features. Однако что-то мне говорит, что он экспортирует далеко не все настройки сайта. С дампом просто - перенёс и забыл. В то же время риск серьёзно напортачить

Вообщем сижу туплю в раздумьях. Кто использует Features, как впечатления?

Аватар пользователя abarmot abarmot 10 декабря 2010 в 21:16

Features, однозначно! Все что не может Features делается через install-файлы модуля и update.php.

Сборка не подразумевает дампа базы данных. Это уже готовый сайт.
Сборка, ИМХО, — набор модулей и инсталляционный профиль, которые во время установки создают записи в БД.

Отличным примером сборки есть Drupal Commons, там можно глянуть как все организовано.

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 11 декабря 2010 в 14:55

Пипец, я в шоке, модули разрастаются как грибы

1) Установить Features
2) Установить Strongarms
3) Ctools (ещё 500 кб кода)

Заебал этот Друпал, если честно. Гора кода, которая ели шевелится, с куцым нужным и кучей ненужного функционала.

Будь проклят день, когда я с этим связался. Сука,блять Sad