frold
1
Я пытаюсь перенести данные с одного сервера на новый.
На обоих серверах установлена одна и та же версия Discourse:
Но я получаю эту ошибку:
> [2022-10-15 06:12:50] [STARTED]
> [2022-10-15 06:12:50] 'frold' начал восстановление!
> [2022-10-15 06:12:50] Помечаем восстановление как запущенное...
> [2022-10-15 06:12:50] Проверяем существование директории /var/www/discourse/tmp/restores/default/2022-10-15-061250...
> [2022-10-15 06:12:50] Копируем архив во временную директорию...
> [2022-10-15 06:12:52] Распаковываем архив, это может занять некоторое время...
> [2022-10-15 06:13:00] Извлекаем файл дампа...
> [2022-10-15 06:13:08] Проверяем метаданные...
> [2022-10-15 06:13:08] Текущая версия: 20221004122343
> [2022-10-15 06:13:08] Версия для восстановления: 20221014005208
> [2022-10-15 06:13:08] ИСКЛЮЧЕНИЕ: Вы пытаетесь восстановить более новую версию схемы. Сначала необходимо выполнить миграцию!
> [2022-10-15 06:13:08] /var/www/discourse/lib/backup_restore/meta_data_handler.rb:31:in `validate'
> /var/www/discourse/lib/backup_restore/restorer.rb:112:in `validate_backup_metadata'
> /var/www/discourse/lib/backup_restore/restorer.rb:43:in `run'
> /var/www/discourse/script/spawn_backup_restore.rb:23:in `restore'
> /var/www/discourse/script/spawn_backup_restore.rb:36:in `block in <main>'
> /var/www/discourse/script/spawn_backup_restore.rb:4:in `fork'
> /var/www/discourse/script/spawn_backup_restore.rb:4:in `<main>'
> [2022-10-15 06:13:08] Пытаемся откатиться...
> [2022-10-15 06:13:08] Откат не требуется
> [2022-10-15 06:13:08] Очищаем временные файлы...
> [2022-10-15 06:13:08] Удаляем временную директорию '/var/www/discourse/tmp/restores/default/2022-10-15-061250'...
> [2022-10-15 06:13:09] Помечаем восстановление как завершенное...
> [2022-10-15 06:13:09] Уведомляем 'frold' об окончании восстановления.'
Почему возникает ошибка миграции? Почему версии разные? Они должны быть одинаковыми…
Новый сервер
Старый сервер
Вам следует обновить систему-получатель перед выполнением обновления.
frold
3
Как?
Как показано на изображениях, версия должна быть одинаковой
Они находятся на разных коммитах beta10 (проверьте синий текст под установленной версией)
Просто пересоберите экземпляр получателя, и миграция должна заработать.
frold
5
Старый сервер: Добро пожаловать в Ubuntu 18.04.6 LTS (GNU/Linux 4.15.0-194-generic x86_64)
Новый сервер: Добро пожаловать в Ubuntu 22.04.1 LTS (GNU/Linux 5.15.0-50-generic x86_64)
Может быть, это связано с этим?
Я пытаюсь пересобрать новый сервер с помощью
cd /var/discourse
./launcher rebuild app
Нет, хост-система не имеет значения.
Да, этого должно быть достаточно.
frold
7
Этого было недостаточно
У меня та же ошибка 
[2022-10-15 06:59:36] [НАЧАЛО]
[2022-10-15 06:59:36] 'frold' начал восстановление!
[2022-10-15 06:59:36] Помечаю восстановление как запущенное...
[2022-10-15 06:59:36] Проверяю существование /var/www/discourse/tmp/restores/default/2022-10-15-065936...
[2022-10-15 06:59:36] Копирую архив во временную директорию...
[2022-10-15 06:59:38] Распаковываю архив, это может занять время...
[2022-10-15 06:59:46] Извлекаю файл дампа...
[2022-10-15 06:59:53] Проверяю метаданные...
[2022-10-15 06:59:53] Текущая версия: 20221004122343
[2022-10-15 06:59:53] Восстанавливаемая версия: 20221014005208
[2022-10-15 06:59:53] ИСКЛЮЧЕНИЕ: Вы пытаетесь восстановить более новую версию схемы. Сначала нужно выполнить миграцию!
[2022-10-15 06:59:53] /var/www/discourse/lib/backup_restore/meta_data_handler.rb:31:in `validate'
/var/www/discourse/lib/backup_restore/restorer.rb:112:in `validate_backup_metadata'
/var/www/discourse/lib/backup_restore/restorer.rb:43:in `run'
/var/www/discourse/script/spawn_backup_restore.rb:23:in `restore'
/var/www/discourse/script/spawn_backup_restore.rb:36:in `block in <main>'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `fork'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `<main>'
[2022-10-15 06:59:53] Пытаюсь откатить изменения...
[2022-10-15 06:59:53] Откат не потребовался
[2022-10-15 06:59:53] Очищаю временные файлы...
[2022-10-15 06:59:53] Удаляю временную директорию '/var/www/discourse/tmp/restores/default/2022-10-15-065936'...
[2022-10-15 06:59:54] Помечаю восстановление как завершенное...
[2022-10-15 06:59:54] Уведомляю 'frold' об окончании восстановления...
RGJ
(Richard - Communiteq)
8
Перед восстановлением на новом сервере следует установить плагин discourse-chat.
Эта миграция относится к чату, а не к ядру Discourse.