Сбой восстановления: нужно сначала выполнить миграцию?

Я пытаюсь перенести данные с одного сервера на новый.

На обоих серверах установлена одна и та же версия 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' об окончании восстановления.'

Почему возникает ошибка миграции? Почему версии разные? Они должны быть одинаковыми…

Новый сервер

Старый сервер

Вам следует обновить систему-получатель перед выполнением обновления.

Как?

Как показано на изображениях, версия должна быть одинаковой

Они находятся на разных коммитах beta10 (проверьте синий текст под установленной версией)

Просто пересоберите экземпляр получателя, и миграция должна заработать.

Старый сервер: Добро пожаловать в 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

Нет, хост-система не имеет значения.

Да, этого должно быть достаточно.

Этого было недостаточно

У меня та же ошибка :frowning:

[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' об окончании восстановления...

Перед восстановлением на новом сервере следует установить плагин discourse-chat.
Эта миграция относится к чату, а не к ядру Discourse.