У меня есть большая база данных phpBB, которую я мигрирую. Я хочу выполнить основную часть миграции, пока старый сайт остаётся активным. Затем, в выходные, посвящённые миграции, перезапустить скрипт миграции после повторной загрузки базы данных. Это позволит сократить объём работы в выходные до импорта нескольких тысяч сообщений пользователей вместо 300 000.
Реализуемо ли это? Сохраняет ли скрипт миграции точки возобновления вне базы данных MySQL?
Есть ли простой способ загрузить новый дамп базы данных через скрипт без сброса предыдущей работы или дублирования данных?
Буду признателен за любые рекомендации или советы по лучшим практикам.
Да, скрипт импорта phpbb поддерживает это. Просто запустите скрипт повторно после загрузки обновлённой базы данных SQL. Он пропустит существующий контент и добавит недостающие данные в Discourse.
Спасибо за ваш ответ. Уточнение по поводу фразы «после загрузки обновлённой базы данных SQL».
Означает ли это, что скрипт импорта автоматически распознает новый дамп и обновит базу данных? Или же мне нужно вручную обновить базу данных новыми данными?
Вам нужно удалить старую базу данных из MySQL, импортировать ваш последний SQL-файл как новую базу данных и запустить скрипт импорта, который загрузит новую базу данных.
Скрипт пройдет по всему содержимому базы данных, определит, существует ли уже какой-либо контент (пользователи, сообщения и т. д.) в Discourse, и импортирует только новые данные.
Чтобы предоставить обновление. Я выполнил миграцию phpBB в два этапа.
Первый этап миграции
Пока моя текущая система phpBB работала в производственном режиме, я сделал следующее:
Следовал стандартным инструкциям по миграции phpBB.
Создал дамп SQL моей текущей базы данных phpBB.
Скопировал все файлы и аватары.
Это позволило мне перенести основную часть данных и протестировать всё с реальными данными. После проверки данных и настройки новой системы Discourse я перешёл ко второму этапу миграции.
Второй этап миграции
На этот раз я остановил свой форум phpBB.
Я запустил скрипт импорта во второй раз:
Обновил файлы и аватары, добавив новые файлы, появившиеся после первого этапа миграции.
Заменил дамп MySQL на новый файл дампа.
Я запустил скрипт импорта. Поскольку процессу нужно было импортировать лишь данные за несколько недель, скрипт выполнился менее чем за 15 минут.
Всё прошло гладко.
Если у вас большой форум phpBB, который нужно мигрировать, я настоятельно рекомендую двухэтапный подход к миграции.