Вопрос или проблема
В начале этого года я создал для клиента большой веб-сайт для их организации. После того как этот сайт был завершен и размещен в Интернете (уже не на нашем сервере разработки), они захотели, чтобы компания, в которой я работаю, создала для них еще один сайт для их онлайн-журнала. Я создал сайт, используя копию старого сайта разработки, который мы использовали для их организации, поскольку они хотели, чтобы все выглядело одинаково. Теперь, когда сайт завершен, нам нужно интегрировать их вместе (то есть, по сути, онлайн-журнал становится новой страницей на их действующем сайте).
Клиент вносил правки в действующий сайт, поэтому они прислали нам обновленную базу данных MySQL и zip-файл всего сайта организации. Я загрузил все на наш сервер для разработки, интегрировал страницы, и, кажется, все работает довольно хорошо. ОДНАКО, на моем сайте разработки отсутствуют страницы, которые должны быть там (например, разработанная главная страница), настройки, сделанные в шаблоне, и т.д. Я также пытался импортировать их базу данных, чтобы перезаписать свою базу, но, похоже, в базе данных отсутствует оператор drop tables, поэтому она не перезаписывается. Как мне скопировать главную страницу так, как она должна быть? Как скопировать настройки из zip-файла действующего сайта, чтобы dev-сайт и действующий сайт выглядели одинаково? И какой будет наилучший способ импорта базы данных действующего сайта и/или ее слияния с базой данных dev-сайта?
Уточняю, это первый раз, когда я пытаюсь объединить сайты и данные, поэтому я действительно не знаю, что делаю.
На этот вопрос сложно ответить, не учитывая личное мнение. Как правило, наличие промежуточного или разработческого сайта для интеграции обоих является лучшей практикой. Вы можете либо создать этот сайт на своем сервере (как вы пытаетесь в настоящий момент), либо на сервере клиента (где вы, возможно, сможете быстрее решить все проблемы, чем если бы разрабатывали на своем сервере, а затем пытались бы разместить на другом).
Пара вещей, которые вы могли бы попробовать, если хотите продолжать работать на своем сервере:
- Вместо попытки перезаписать базу данных на своем сервере, создайте новую. Импортируйте их данные в эту новую базу, затем обновите файл wp-config.php, чтобы он указывал на новую базу данных.
- Вы также можете попросить их экспортировать все страницы/посты в формате XML, а затем импортировать их. Однако это только перенесет сами страницы/посты — не настройки темы или другие данные, которые могут быть важны для вас.
В зависимости от хостинга клиента, может быть значительно проще скопировать их рабочий сайт на размещенный хостингом промежуточный сайт, а затем вносить изменения. Как только все будет работать гладко, опять же в зависимости от хостинга, вы можете либо переименовать папки, чтобы поменять местами промежуточный и рабочий сайт, либо хостинг может иметь метод переноса с промежуточного на рабочий сайт.
Ответ или решение
Конечно, давайте обсудим процесс объединения тестового сайта с живым сайтом, сосредоточившись на вашем текущем проекте, где необходимо интегрировать онлайн-журнал в корпоративный сайт клиента.
Теория
Когда вы работаете с объединением тестового и живого сайтов, ваше внимание должно быть направлено на три основные области: обработка данных, настройки дизайна и правильная интеграция изменений. Это становится особенно важным, когда на рабочем сайте клиента уже произошли изменения, и необходимо обеспечить правильный перенос всех данных и сохранить целостность нового функционала.
-
Обработка данных: Перед слиянием баз данных жизненно важно, чтобы данные были актуальными и правильно структурированными. Это включает проверку синхронизации схемы базы данных и защиту от потери данных.
-
Настройки дизайна: Обеспечение того, чтобы визуальные и функциональные настройки вашего сайта правильно перенесены из существующего сайта в вашу новую интеграцию.
-
Интеграция изменений: Понимание того, как изменить структуру и смешивать одновременно, требует дополнительного внимания для предотвращения конфликтов кода и потери функционала.
Пример
На практике это предполагает несколько шагов:
-
Создание новой базы данных: Вместо непосредственного переписывания существующей базы данных на своем сервере, создать новую, специально подготовленную для данных клиента. Импортировать данные клиента сюда и изменить файл
wp-config.php
для новой конфигурации. -
Экспорт страниц и постов: Если база данных клиента только частично удовлетворяет вашим потребностям, попросите клиента экспортировать страницы и посты в формате XML, что позволит вам безболезненно импортировать их на вашу тестовую площадку. Имейте в виду, что этот метод не позволит перенести все настройки темы.
Применение
На этапе применения ваш подход должен быть систематичным и последовательным:
-
Тестирование интегрирования: Прежде чем делать какие-либо изменения на рабочем сайте, протестируйте их на своей тестовой площадке. Это снизит риск возникновения ошибок в живом проекте и обеспечит плавность работы.
-
Использование хостинга клиента: Рассмотрите возможность работы на хостинге клиента, если в будущем потребуется более быстрая интеграция без необходимости повторного импорта данных.
-
Использование инструментов контроля версии: Используйте системы контроля версий, чтобы отслеживать изменения в коде и избежать конфликтов при объединении разных версий сайта.
После выполнения всех необходимых действий ваши основные цели будут достигнуты: сайт будет функционировать как интегрированное решение, обеспечивая все необходимые функции для клиента и его пользователей, с минимальными отклонениями от первоначальной структуры и дизайна.