Как синхронизировать изменения версии localhost с производственной версией

В эти дни я внес некоторые изменения в локальную версию веб-сайта joomla 2.5. Эти изменения состоят из создания новых файлов или редактирования предыдущих, добавления таблиц в базу данных и изменения других.

Но все эти дни мой друг создавал статьи в Интернете, вызывая изменения в базе данных и файловой системе. Теперь я думаю, как синхронизировать онлайн-базу данных + файлы с их локальной версией. Есть инструмент? или мне нужно просмотреть изменения, внесенные в базу данных и файловую структуру приложения joomla, и синхронизировать их вручную? Какова обычная практика по этому вопросу?

Спасибо


person themhz    schedule 27.04.2013    source источник
comment
stackoverflow.com/questions/5191169/   -  person Nitrodist    schedule 29.04.2013


Ответы (1)


Здесь у вас две проблемы: синхронизация базы данных и файлов.

Первое, что вы должны сделать, это настроить систему управления версиями кода, будь то svn или git, не имеет большого значения, главное, чтобы ваши данные были в безопасности. На всякий случай сбросьте оба dbs в svn.

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

Если вы внесли незначительные изменения в базу данных, вам лучше воссоздать их вручную.

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

mysqldump -u username -p database --ignore-table=database.jos_session 
    --ignore-table=database.jos_content  --ignore-table=database.jos_menu 
    > database_config.sql

!Это всего лишь синтаксис, вам нужно будет определить имена таблиц самостоятельно!!!

Вы можете добиться того же с помощью phpmyadmin или тому подобного.

Теперь кодировать. Если на рабочем сайте не было создано никаких файлов (кроме изображений), вы можете безопасно перенести файлы разработки на сервер.

В противном случае поместите свой сайт разработки в режим управления версиями кода, зафиксируйте или отправьте, затем скопируйте рабочие файлы поверх них и используйте функции svn / git для изучения различий в коде и публикации на рабочем сервере, как только все будет в порядке.

Если вы умеете читать по-итальянски, я опубликовал статью, в которой обобщаются некоторые из этих концепций в более удобном формате: http://www.fasterjoomla.com/it/soluzioni-joomla/svn-per-joomla

person Riccardo Zorn    schedule 28.04.2013
comment
Я должен игнорировать #__content? это комментарии? где хранятся статьи? - person themhz; 29.04.2013
comment
#__content — это способ указать Joomla, что он должен вставить префикс базы данных в таблицу, и используется только в запросах, поэтому он будет переведен во что-то вроде jos_content (обратите внимание, двойное подчеркивание после #, одиночное подчеркивание после префикса db ). Статьи хранятся в #__content + у каждой есть ресурс, назначенный в #__asset + в файловой системе могут быть новые категории и, скорее всего, изображения - person Riccardo Zorn; 29.04.2013