Перенос базы данных
Подготовка и контроль специального переноса базы в 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Затем выполните независимое сравнение:
Не очищайте старую базу после переключения. Сохраняйте её в режиме только чтения до завершения контрольного периода.
Проверка приложения
Проверьте подключение, миграции приложения, вход, карточки заявок, расчёт, фоновые задачи и создание тестовой заявки. Сопоставьте количество и содержимое ключевых объектов с отчётом мигратора.
Если сверка не прошла, не исправляйте строки вручную в рабочей базе. Остановите ввод в работу и используйте подготовленный возврат подключения или повторный перенос после устранения причины.
Последнее обновление
Это было полезно?