Замена базы данных на локальном сервере более актуальной. Есть вопрос

Тема в разделе "Базы данных", создана пользователем Burano, 9 янв 2017.

Модераторы: latteo
  1. Burano

    Burano Постоялец

    Регистр.:
    25 май 2013
    Сообщения:
    60
    Симпатии:
    6
    Здравствуйте. Есть довольно дилетантский вопрос, но всё же боюсь накосячить. Есть сайт. Задумал его обновить. Скачал копию и установил на локальный сервер, там и обновляю, переделываю структуру, изменил дизайн. Вопрос вот в чем. За это время покуда я переделываю сайт, на том, который размещен в сети идет своя жизнь, добавляются новости, постятся объявления и т.д. Если я скачаю БД и замещу ею ту устаревшую на локальном сервере все измененные настройки у компонентов слетят до тех, что у размещенного на сервере сайта.

    Как правильно загрузить на хостинг обновленный сайт созданный на локалке, чтобы все настройки были как на локалке, но ко всему этому добавилась и вся остальная информация, которая появилась на сайте в сети за время доработки сайта на локальном? Надеюсь понятно :confused:
     
  2. starwanderer

    starwanderer

    Регистр.:
    20 ноя 2016
    Сообщения:
    794
    Симпатии:
    1.206
    Вопрос слишком общий. Не указано на какой CMS сайт, либо он самописный. Какие изменения вносите. Дизайн можно поменять так, что изменений в БД не будет. Всё зависит от конкретной системы и что вы в ней делаете.

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

    Вообще, у CMS, для контента, как правило, выделяются отдельные таблицы, и в общем случае, можно SQL - запросом перегнать новые посты в измененную базу данных. Но всё зависит от конкретной системы.
    Пожалуй всё, что можно сказать, исходя из той информации, что вы дали.
    Дадите точнее, возможно, что-то более конкретное можно будет рекомендовать.
     
  3. Burano

    Burano Постоялец

    Регистр.:
    25 май 2013
    Сообщения:
    60
    Симпатии:
    6
    CMS Joomla 3.
    На сайте изменил дизайн, обновил модули, во многих изменил настройки.
     
  4. starwanderer

    starwanderer

    Регистр.:
    20 ноя 2016
    Сообщения:
    794
    Симпатии:
    1.206
    В исходной версии joomla (3.6.5) 68 таблиц. Посмотрите сколько у вас. Если больше, то какой-то компонент мог добавить. Тогда этот компонент лучше поставить на рабочем сайте сначала.

    Контент у joomla лежит в таблицах: префикс_content... Из них и нужно делать выборку, там есть время модификации. По нему можно сделать выборку новых постов и их вставку в базу исправленного сайта. Ну и файлы картинок подтянуть, если в постах используются.

    Также посмотреть таблицы префикс_users... на предмет добавивишихся пользователей.

    Для чистой установки, в принципе, всё.

    Поэкспериментируйте. Сделайте сравнение копии базы с базой с хостинга - увидите разницу. Может ещё какие-то таблицы задействованы.
    Возможно, какие-то компоненты еще таблицы добавили.

    Сделайте локально экспериментальный перенос записей на ещё одной копии сайта.

    Если еще более детально, то надо уже БД смотреть.

    Если применимо в вашем случае, то лучше действовать методом последовательных мелких исправлений. Что-то поменяли локально проверили и сделали на боевом сайте.
    Слишком часто бывают особенности, которых теоретически не учтёшь.
     
    Последнее редактирование: 9 янв 2017
    Burano нравится это.
  5. Burano

    Burano Постоялец

    Регистр.:
    25 май 2013
    Сообщения:
    60
    Симпатии:
    6
    Спасибо за столь содержательные ответы. Всё понял. Буду разбираться.
     
  6. starwanderer

    starwanderer

    Регистр.:
    20 ноя 2016
    Сообщения:
    794
    Симпатии:
    1.206
    Дополню.

    1. Вот ещё одна программа для работы с MySQL - dbForge Studio for MySQL она бесплатна для некоммерческого использования. Там есть инструменты для сравнения БД.

    2. Я давно уже не занимался Joomla. Сейчас посмотрел, есть ещё одна важная таблица с правами: префикс_assets. Из неё тоже нужно будет перенести записи, связанные с добавленным контентом. ( условия по полям: name, title ) Нетривиальная задачка получается. Много взаимосвязей нужно учесть. Если дружите с SQL, то справитесь.

    3. Посмотрите, на крайний случай, плагины выгрузки и загрузки контента, тоже вариант перенести материалы с сайта на сайт.

    Задайте ещё вопрос в ветке Joomla? Может кто-то делал подобный перенос.
     
    Burano нравится это.