For the complete documentation index, see llms.txt. This page is also available as Markdown.

Перенос базы данных

Подготовка и контроль специального переноса базы в PostgreSQL

Перенос базы — отдельная техническая операция, а не обычное обновление. Он меняет хранилище приложения и требует репетиции на копии, остановки записи и независимой сверки результата.

Подготовка

Создайте приватную конфигурацию мигратора, отдельные пустые базы назначения и резервную копию источника. Убедитесь, что учётная запись назначения владеет своей базой и имеет необходимые права.

Проверьте конфигурацию, цель и план без изменения данных:

./tools/db-migrator/iex-db-migrator config-check --profile all
./tools/db-migrator/iex-db-migrator target-check --profile all
./tools/db-migrator/iex-db-migrator plan --profile all

Все проверки должны завершиться успешно. Предупреждения о кодировке, типах, ограничениях или существующих объектах разбираются до рабочего окна.

Репетиция

Выполните полный перенос на отдельные тестовые базы и запустите копию приложения с тестовым подключением. Проверьте заявки разных периодов, пользователей, переводы, локализации, суммы, индексы и ограничения.

Репетиция должна включать измерение времени и план возврата старого подключения.

Рабочий перенос

Остановите создание заявок, запись приложения и связанные фоновые процессы внешней процедурой обслуживания. Убедитесь, что нет незавершённых платежных переходов.

После свежей резервной копии запустите перенос в подтверждённо пустую цель:

./tools/db-migrator/iex-db-migrator run --profile all --schema-mode empty --yes

Затем выполните независимое сравнение:

Не очищайте старую базу после переключения. Сохраняйте её в режиме только чтения до завершения контрольного периода.

Проверка приложения

Проверьте подключение, миграции приложения, вход, карточки заявок, расчёт, фоновые задачи и создание тестовой заявки. Сопоставьте количество и содержимое ключевых объектов с отчётом мигратора.

Если сверка не прошла, не исправляйте строки вручную в рабочей базе. Остановите ввод в работу и используйте подготовленный возврат подключения или повторный перенос после устранения причины.

Последнее обновление

Это было полезно?