Перенос изменений с devel на production сайт. Как?

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

Аватар пользователя E-Will E-Will 24 ноября 2009 в 22:11

Ситуация: есть копия рабочего сайта, на который добавляется, изменяется, удаляется функционал, настраиваются новые возможности, вообщем классическая рутина. В это же время рабочий сайт живет своей жизнью - добавляется контент, регистрируются юзеры и т.д.

В какой то момент надо, по возможности просто, внести изменения на рабочий сайт. backup_migrate тут далеко не всегда может помочь, так как легко может пропасть часть контента, да и не только. Вручную повторять весь процесс может занять слишком много времени, и не факт что гдето чего то не пропустишь. Каждую настройку запоминать и переносить - не продуктивно. А изменения надо вносить регулярно.

Вопрос к залу - как? Как вносить дельту изменений с копии на сайт.

UPD: как по заказу на хабре появилась статья на эту тему http://habrahabr.ru/blogs/drupal/76243/ . Метод мною пока не испробован, ищу дальше
UPD2: возможно подойдет модуль http://drupal.org/project/dbscripts . для d6 есть dev версия. Функционал пока не испытал

Комментарии

Аватар пользователя Тыдж Тыдж 24 ноября 2009 в 22:27

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

Аватар пользователя E-Will E-Will 25 ноября 2009 в 0:02

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

Аватар пользователя arkhnchul arkhnchul 24 ноября 2009 в 23:36

взять два дампа баз - боевую и тестовую. Прогнать diff, потом из получившегося патча убрать все минусы, наложить патч на дамп боевой базы, залить дамп на сайт.
Не с друпалом и вообще не на сайте, но так делал.

Аватар пользователя E-Will E-Will 25 ноября 2009 в 0:00

это общий случай, классический, но в данном контексте не пойдет - в случае изменения типов материалов, да и даже переименовке поля, начинаются большие проблемы.

Аватар пользователя Тыдж Тыдж 25 ноября 2009 в 0:07

а где хранятся настройки модулей? где содержатся данные о всех тех отмеченных галочках, настройках в админке модуля?

Аватар пользователя E-Will E-Will 25 ноября 2009 в 0:18

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

Аватар пользователя v1adimir v1adimir 25 ноября 2009 в 2:46

когда сами решали эту задачу, пришли к выводу, что никак ((
слишком много взаимосвязей, зачастую неявных.

если бы нашелся спосособ, было бы очень полезно.

Аватар пользователя abarmot abarmot 25 ноября 2009 в 10:29

Все решается очень просто:

1) на devel все делаем не мышкой, а кодом в install-файле модлуя
2) синхронизируем файлы модуля с product
3) запускаем update.php на product

Плюсы метода:
1) апдейт проходит без ошибок (если конечно вы в коде не накосячили)
2) изменения можно вносить в систему управления версиями
3) это работает на ура с сайтами, где БД размером больше ГБ Smile

Минусы:
1) немного трудоемко

Аватар пользователя E-Will E-Will 25 ноября 2009 в 12:09

способ интересный, но настроить связки cck+views+еще десяток модулей сделать кодом - процесс не то что трудоемкий, а нереальный для большинства. и по времени нерентабельно

Аватар пользователя abarmot abarmot 25 ноября 2009 в 12:21

E-Will wrote:
способ интересный, но настроить связки cck+views+еще десяток модулей сделать кодом - процесс не то что трудоемкий, а нереальный для большинства. и по времени нерентабельно

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

P.S.
Делать связки CCK+Views довольно просто, вот взгляните, например, на install_profile_api.

Аватар пользователя v1adimir v1adimir 25 ноября 2009 в 12:50

abarmot wrote:
Все решается очень просто:
...

ок. если я убеждаю заказчиков, что это нужно делать, к тебе можно будет обратиться за помощью? )
и сколько то будет стоить, порядок цен?

Аватар пользователя abarmot abarmot 26 ноября 2009 в 13:10

"v1adimir" wrote:
ок. если я убеждаю заказчиков, что это нужно делать, к тебе можно будет обратиться за помощью? )
и сколько то будет стоить, порядок цен?

Ко мне обратиться можно, определенно Smile .
Я фрилансом не занимаюсь, но иногда бывает свободное время и желание что-то делать Smile .
Раскладки цен у меня нет. Еслу и вас будут предложения - пишите, возможно что-то придумаем.