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

Burano

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

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

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

Вообще, у CMS, для контента, как правило, выделяются отдельные таблицы, и в общем случае, можно SQL - запросом перегнать новые посты в измененную базу данных. Но всё зависит от конкретной системы.
Пожалуй всё, что можно сказать, исходя из той информации, что вы дали.
Дадите точнее, возможно, что-то более конкретное можно будет рекомендовать.
 
CMS Joomla 3.
На сайте изменил дизайн, обновил модули, во многих изменил настройки.
 
В исходной версии joomla (3.6.5) 68 таблиц. Посмотрите сколько у вас. Если больше, то какой-то компонент мог добавить. Тогда этот компонент лучше поставить на рабочем сайте сначала.

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

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

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

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

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

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

Если применимо в вашем случае, то лучше действовать методом последовательных мелких исправлений. Что-то поменяли локально проверили и сделали на боевом сайте.
Слишком часто бывают особенности, которых теоретически не учтёшь.
 
Последнее редактирование:
Спасибо за столь содержательные ответы. Всё понял. Буду разбираться.
 
Дополню.

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

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

3. Посмотрите, на крайний случай, Для просмотра ссылки Войди или Зарегистрируйся, тоже вариант перенести материалы с сайта на сайт.

Задайте ещё вопрос в ветке Joomla? Может кто-то делал подобный перенос.
 
Назад
Сверху