За последние 24 часа нас посетили 22038 программистов и 1624 робота. Сейчас ищут 2118 программистов ...

Bitrix. Синхронизация между разработчиками

Тема в разделе "Прочее", создана пользователем MaXyC_Web_Studio, 27 ноя 2013.

  1. MaXyC_Web_Studio

    MaXyC_Web_Studio Активный пользователь

    С нами с:
    31 дек 2006
    Сообщения:
    678
    Симпатии:
    3
    Адрес:
    Новоуральск
    Доброго времени чтения, коллеги.
    Такая проблема возникла.
    Есть крупный магазин на битриксе. Необходимо работать над ним 3 параллельным программистам. Как это сделать?
    Для файлов - git.
    Но как быть с базой? Ее необходимо как-то синхронизировать между разрабами...
    Сначала подумал сделать внутренний сервачок. Был у нас в подсопке лишний комп (4 ядра. 2 гига памяти. 100гб хдд). Поднял на нем убунту сервер 12.10. мускуль. Девелоперы настроили свои локальные версии битрикса на этот сервачок. И хоть внутреняя сеть и 100 мбпс (вайфай роутер, подключено 4 компа по эзернету, по вайфаю только мобайл девайсы). Битрикс очень долго думает. Включил отладку - 700 запросов на странице. (сказать прихуел ничего не сказать, ибо стоит все стандартное, не кастомизированные компоненты).
    Переключились обратно на локальные версии. Теперь не знаю как сделать синхронизацию бд. бывает что то типа гита для мускуля? )))) миграции не причем, ибо вопрос связан с данными, а не только со структурой



    Сервер продакшна находится в амстердаме (digital ocean)
     
  2. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Мысля первая:
    mysqldump с выключеным extended-insert и гитом сверху
     
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.119
    Симпатии:
    1.245
    Адрес:
    там-сям
    чтобы разрабы локтями не толкались на одной тяжелой базе, пусть у каждого будет свой игровой сервер.
    копирование с рабочей базы на сервер разработчика, mysqldump + gzip + ssh.

    viewtopic.php?f=22&t=46069&p=366995#p366995

    для битрикса возможно надо составить список таблиц-исключений. это тебе виднее.
     
  4. MaXyC_Web_Studio

    MaXyC_Web_Studio Активный пользователь

    С нами с:
    31 дек 2006
    Сообщения:
    678
    Симпатии:
    3
    Адрес:
    Новоуральск
    на работе только я убунтой пользуюсь =(
    так бы повесил эти бекапы и развертывание бд.
    но опять же. надо сливать бд разработчиков с тестовым сервером, а потом и с продакшном.
     
  5. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Еще раз повторюсь, посмотри в сторону отключенного extended-insert.
    Суть, mysqldump поумолчанию выгружает с оптимизированным кол-вом инсертов. (что для git - плохо)
    Отключив extended-insert он будет вываливать по 1 инсерту на строку, а это подводит мысль к тому, что гиту будет проще строить дифы.
    Соответственно кажный разработчик будет видеть разницу, между того что в апстриме и у него.

    Блин, а тут есть над чем самому задуматься )
     
  6. MaXyC_Web_Studio

    MaXyC_Web_Studio Активный пользователь

    С нами с:
    31 дек 2006
    Сообщения:
    678
    Симпатии:
    3
    Адрес:
    Новоуральск
    вот вот.
    но спасибо тебе )
     
  7. d1gi

    d1gi Активный пользователь

    С нами с:
    24 май 2009
    Сообщения:
    326
    Симпатии:
    0
    если один кодер меняет структуру БД, то надо писать миграцию в рамках того коммита, который работает с изменённой структурой... другие кодеры видят, что прилетела миграцию и накатывают её, также её можно откатить "еслив что пошло не так" ;)
     
  8. MaXyC_Web_Studio

    MaXyC_Web_Studio Активный пользователь

    С нами с:
    31 дек 2006
    Сообщения:
    678
    Симпатии:
    3
    Адрес:
    Новоуральск
    миграция работает только со структурой бд. в битриксе ничего не меняется в структуре. только данные

    Добавлено спустя 28 секунд:
    спасибо большое. но мы уже давно с миграциями сотрудничаем.
     
  9. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.119
    Симпатии:
    1.245
    Адрес:
    там-сям
    блин, только сейчас дошло :) imho, сама мысль неправильная. в отличие от кода, данные с dev на prod не должны попадать ни при каких раскладах!!! со структурой всё понятно, ты говоришь что миграции есть.

    так что, помоему, нужна не синхронизация, а только односторонее копирование по требованию.
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Имхо не надо общую. Мало ли кто че ковыряет и тестирует.
     
  11. MaXyC_Web_Studio

    MaXyC_Web_Studio Активный пользователь

    С нами с:
    31 дек 2006
    Сообщения:
    678
    Симпатии:
    3
    Адрес:
    Новоуральск
    да мы сидим втроем (два программера и верстальщик). в принципе всегда вкурсе что куда, но в битриксе даже не заметишь как поставишь галочку и все )
     
  12. pistol

    pistol Новичок

    С нами с:
    24 ноя 2013
    Сообщения:
    76
    Симпатии:
    0
    Была точно такая же задача. Пытались, пытались и недопытались, оставили общую базу. Один из членов команды пытался настроить репликацию mysql, но его инициатива загнулась по причине командной лени.

    Добавлено спустя 1 минуту 40 секунд:
    Забыл: Битрикс гавно.
     
  13. MaXyC_Web_Studio

    MaXyC_Web_Studio Активный пользователь

    С нами с:
    31 дек 2006
    Сообщения:
    678
    Симпатии:
    3
    Адрес:
    Новоуральск
    ну вот по всем пунктам содидарен
     
  14. andrey3001

    andrey3001 Новичок

    С нами с:
    6 авг 2014
    Сообщения:
    1
    Симпатии:
    0
    у каждого разработчика своя копия проекта, также продакшен, тестовые и т.д. копии.
    делаем небольшие файлы с миграциями бд и накатываем их на каждой копии (можно автоматизировать). Правда код миграции пишется вручную, но тут спасают различные классы хелперы. В итоге нет никакой перезаливки бд, изменения хранятся в файлах под контролем версий.
    https://bitbucket.org/andrey_ryabin/sprint.migration