Сценарии DDL / SQL, использованные для создания моей базы данных PostgreSQL, находятся под контролем версий.Теоретически, любое изменение модели базы данных отслеживается в хранилище исходного кода.
На практике, однако, случается, что структура оперативной базы данных изменяется «на лету», и если какие-либо клиентские скрипты не могут вставить / выбрать / и т. Д. Данные, я отвечаю за исправление проблемы.
Мне очень помогло бы, если бы я мог провести быстрый тест, чтобы убедиться, что база данных по-прежнему соответствует сценариям создания в репозитории, т.е. все еще является «официальной» версией.
Я началиспользуя pgTAP для этой цели, и до сих пор это прекрасно работает.Однако всякий раз, когда в БД выполняется контролируемое, одобренное изменение, сценарии тестирования также должны изменяться.
Поэтому я подумал о создании сценариев тестирования автоматически.Одним общим подходом может быть
- запуск сценариев для создания метаданных БД
- доступа к БД на сервере
- использование этих метаданных для генерации тестового кода
Я бы предпочел не создавать БД, а вместо этого читать сценарии создания БД напрямую.Я попытался найти способ подключиться к анализатору DDL и получить какое-то представление метаданных, которое мог бы использовать, но до сих пор я многое узнал о внутренностях PostgreSQL, но не смог найти решения этой проблемы.
Может кто-нибудь придумает, как проанализировать DDL-скрипт PostgreSQL?