Mat1lda
@Mat1lda

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

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

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

Войти через центр авторизации
Похожие вопросы