В рамках проекта apgdiff подготовлена платформонезависимая утилита для вычисления различий в структуре нескольких БД PostgreSQL и формирования diff-файла, который может быть использован для обновления схемы данных. В качестве источника выступают sql-дампы баз, т.е. утилита не требует подключения к СУБД, а работает с резервной копией данных. Утилиту удобно использовать для быстрого переноса отлаженных в тестовой базе изменений схемы в рабочую базу. Дополнительно присутствует функция смены кодировки текста. Код утилиты написан на языке Java.
Полученный diff-дамп пригоден для прямой загрузки в PostreSQL через интерфейс psql. Поддерживаются следующие выражения: ALTER TABLE, ALTER VIEW, CREATE FUNCTION, CREATE INDEX, CREATE SCHEMA, CREATE SEQUENCE, CREATE TABLE, CREATE TRIGGER, CREATE VIEW, SET search_path и т.п.
|