Задать вопрос
Mat1lda
@Mat1lda

Как в plpgsql версионировать код?

Суть такая: хочу писать логику в plpgsql и вызывать из go, как корректнее будет вести разработку хранимых процедур, чтобы можно было прикрутить это всё в git? (Чтобы процедуры хранились не только в бд, но и локально в файле). Есть ли более хитрый метод, чем просто хранить файлы расширения .sql локально?
  • Вопрос задан
  • 69 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@galaxy
Есть ли более хитрый метод, чем просто хранить файлы расширения .sql локально?
да нет, скорее всего. Git в любом случае работает с файлами.
Вам понадобится скрипт, который будет выгружать и загружать эти файлы из/в БД (pg_dump не умеет извлекать только функции да еще в отдельные файлы, так что это какой-то SELECT FROM pg_proc плюс pg_get_functiondef() может быть для начала).
Плюс будут отдельные проблемы, когда у функций меняются входные параметры. В PG полиморфизм, поэтому CREATE OR REPLACE FUNCTION будет создавать новые функции. Нужно вручную будет удалять неактуальные версии.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы