Можно ли поставить Joomla под контроль версий? - PullRequest
5 голосов
/ 18 июня 2010

Мы команда многих разработчиков, работающих над веб-сайтом, который использует как Joomla, так и пользовательские сценарии PHP.Проблема в том, что есть несколько разработчиков, работающих над различными функциями, которым необходимо обновить информацию в Joomla (добавление модулей, изменение существующих или изменение настроек), и когда один разработчик что-то меняет, он обычно сначала вносит изменения локально, а затем делает то же самое.(надеюсь) на производственном сервере.Мало того, что это очень подвержено ошибкам, но разработчики часто забывают рассказать другим разработчикам об изменениях.Пользовательские сценарии PHP легко делятся между разработчиками, но изменения в Joomla часто забываются, и они приводят к серьезным конфликтам, когда разработчик пытается воспроизвести свои локальные изменения в рабочей среде.

Я думал о размещении JoomlaMercurial, но как мы можем распределить изменения в базе данных между машинами разработки, тестирования и производства?

Ответы [ 5 ]

6 голосов
/ 18 июня 2010

Мы запускаем все наши сайты на Joomla через Subversion, проверяя их по мере необходимости. Мы просто разветвляемся всякий раз, когда нам нужно внести значительные изменения в проект.

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

2 голосов
/ 29 июня 2010

Мы используем SVN для всех наших клиентов с отдельными базами данных.При установке нового расширения база данных меняется.С помощью diff of databasedump до и databasedump после установки расширения мы знаем, в чем различия.

1 голос
/ 17 сентября 2014

Синхронизация базы данных сложна, так как вы хотите сохранить контент, который хранится на живом сайте, при обновлении других таблиц с ваших сайтов разработки / размещения.

если бы ваши разработчики создавали изменения базы данных (а не сторонние расширения, добавляющие неизвестные дополнительные таблицы), вы могли бы взглянуть на что-то вроде DBV https://github.com/victorstanciu/dbv.

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

Другим вариантом может быть проверка репликации mySql, но в прошлый раз я посмотрел, что было трудно установить, когда не было очевидных отношений master / slave между базами данных для синхронизации

0 голосов
/ 22 июня 2010

Мы используем SVN на нашем сервере для управления этими типами проблем.Если вы собираетесь делать какую-либо продуктивную разработку с командой людей, вы должны использовать систему контроля версий.Есть целый ряд, есть Google для SVN, CVS, GIT, это некоторые из наиболее распространенных систем контроля версий.Первоначально установка может занять некоторое время, но вы получите от этого плоды!

Надеюсь, это поможет!Приветствия

0 голосов
/ 19 июня 2010

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

Используя PHP, вы сможете написать быстрый скрипт, который будет запускаться с пустого сервера, установить Joomla !, установить все ваши расширения и затем сбросить любые тестовые данные. Наличие этого также будет полезно для разработчиков, чтобы вернуться в «чистое» состояние. Я бы посоветовал разработчикам вернуться к золотому состоянию, прежде чем они начнут какую-либо новую работу.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...