Flow Lab

Перенос базы данных в PostgreSQL с отчётом, который доказывает, что ничего не потерялось

Скрипт переноса и отчёт о проверке: число строк и контрольные суммы по каждой таблице, проверки столбцов, внешние ключи и последовательности ключей.

Демо я сделала сама, это не заказ клиента. Сделано на открытой учебной базе Chinook (лицензия MIT), данных клиентов здесь нет. Все цифры на этой странице взяты из самого демо: вы можете открыть его и попробовать.

Снимок экрана: перенос базы данных в PostgreSQL с отчётом, который доказывает, что ничего не потерялось
11 таблици 11 внешних ключей, всё совпадает
15 607строк перенесено и проверено
шестьвидов подстроенных повреждений, и каждое найдено
Кейс

Задача. Перенести базу данных в PostgreSQL так, чтобы владелец мог сам убедиться: каждая строка и каждый цент на месте, и это видно в отчёте.

Решение. Структура и данные переносятся одной транзакцией: при сбое всё откатывается, и база никогда не остаётся перенесённой наполовину. Старая база открывается только для чтения. Затем отчёт о проверке сравнивает обе стороны таблицу за таблицей: число строк и контрольную сумму каждого значения, проверки по столбцам (пустые значения, суммы, длина текста, диапазоны дат), внешние ключи на каждой строке, индексы и последовательности ключей.

Результат. 11 таблиц, 15 607 строк, 11 внешних ключей и 10 индексов, всё совпадает. Сам отчёт я тоже проверила: испортила данные шестью способами (один цент в итоговой сумме, потерянная строка, одна изменённая буква, дата со сдвигом на секунду, лишняя строка, сброшенная последовательность ключей), и каждый раз отчёт называл таблицу и показывал первую строку с расхождением. Отчёт открывается в браузере или на телефоне и печатается в PDF.

Демо на открытой учебной базе Chinook (лицензия MIT), без клиента. В реальном проекте первый этап — пробный перенос вашей базы с таким отчётом, ещё до каких-либо изменений в рабочей системе.

Следующий шаг

Хотите такой же?

Опишите простыми словами, что вам нужно. Я скажу, что для этого понадобится и не подойдёт ли вам лучше первая версия поменьше. Оценка бесплатна.