powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Автоматическое создание функции в Postgresql
11 сообщений из 11, страница 1 из 1
Автоматическое создание функции в Postgresql
    #39938181
Павел Гужанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел статью на на тему автоматического исполнения скриптов при старте приложения: https://walkingtechie.blogspot.com/2018/12/execute-schema-and-data-sql-on-startup-spring-boot.html

У меня почти такая задача, но при старте надо выполнить скрипт создания функции. По аналогии сделал в ресурсах файл schema.sql:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
CREATE OR REPLACE FUNCTION public.myFunction (
  startreportdate timestamp,
  endreportdate timestamp
)
RETURNS TABLE (
  user_id bigint,
  user_data varchar(225)
) AS
$body$
BEGIN
--тут запрос
    ;

END;
$body$
LANGUAGE 'plpgsql';



При старте приложения этот файл находится и пытается выполниться. Но получается ошибка
Unterminated dollar quote started at position in SQL и далее мой скрипт.
Как передать такой скрипт на выполнение?
...
Рейтинг: 0 / 0
Автоматическое создание функции в Postgresql
    #39938185
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Гужанов
но при старте надо выполнить скрипт создания функции
зачем при обычном рестарте или перезагрузке менять схему бд?
...
Рейтинг: 0 / 0
Автоматическое создание функции в Postgresql
    #39938186
Павел Гужанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так поставлена задача. Могли измениться функции и при рестарте должны быть актуальные
...
Рейтинг: 0 / 0
Автоматическое создание функции в Postgresql
    #39938191
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Гужанов
Так поставлена задача. Могли измениться функции и при рестарте должны быть актуальные
а ка вы получаете актуальные.?
То есть я поправил на своей машине код функции... Дальше?
...
Рейтинг: 0 / 0
Автоматическое создание функции в Postgresql
    #39938219
Павел Гужанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поправил на своей машине, запушил в гит, код ревьювер одобрил, при новой сборке актуальные скрипты должны запуститься
...
Рейтинг: 0 / 0
Автоматическое создание функции в Postgresql
    #39938233
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Гужанов,

Flyway
Liquibase

Читаем, думаем :-)
...
Рейтинг: 0 / 0
Автоматическое создание функции в Postgresql
    #39938234
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Гужанов
поправил на своей машине, запушил в гит, код ревьювер одобрил, при новой сборке актуальные скрипты должны запуститься
а с данными заказчика что?
Я так понимаю что СТАРТ приложения и ДЕПЛОЙ придожения должны отличаться.
Имхо
...
Рейтинг: 0 / 0
Автоматическое создание функции в Postgresql
    #39938555
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
Павел Гужанов,

Flyway
Liquibase

Читаем, думаем :-)

Да, liquibase в этом случае норм.
...
Рейтинг: 0 / 0
Автоматическое создание функции в Postgresql
    #39938594
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Гужанов,
>Unterminated dollar quote started at position in SQL и далее мой скрипт.

ну так ищите ошибку в своём SQL. Читайте документацию по созданию функций в PostgreSQL. Причём тут вообще Java? Вы случайно нашли какую-то статью, но она вам бесполезна, так как вы не знаете Java.

>Так поставлена задача.

пошлите нафиг того, кто поставил.

mad_nazgul,
>
>Flyway
>Liquibase

>Читаем, думаем :-)

Думаем, что ваш ответ не относится к вопросу, поэтому читать незачем.
...
Рейтинг: 0 / 0
Автоматическое создание функции в Postgresql
    #39938603
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Гужанов,

В сообщении об ошибке говорится, что у вас есть строка, начинающаяся на $$, но не кончающаяся на $$ . Подробнее см. документацию по словам PostgreSQL dollar quoting. Что, нет желания исправить свою ошибку?
...
Рейтинг: 0 / 0
Автоматическое создание функции в Postgresql
    #39938604
Фотография Valentin Kolesnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Гужанов
Нашел статью на на тему автоматического исполнения скриптов при старте приложения: https://walkingtechie.blogspot.com/2018/12/execute-schema-and-data-sql-on-startup-spring-boot.html

У меня почти такая задача, но при старте надо выполнить скрипт создания функции. По аналогии сделал в ресурсах файл schema.sql:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
CREATE OR REPLACE FUNCTION public.myFunction (
  startreportdate timestamp,
  endreportdate timestamp
)
RETURNS TABLE (
  user_id bigint,
  user_data varchar(225)
) AS
$body$
BEGIN
--тут запрос
    ;

END;
$body$
LANGUAGE 'plpgsql';



При старте приложения этот файл находится и пытается выполниться. Но получается ошибка
Unterminated dollar quote started at position in SQL и далее мой скрипт.
Как передать такой скрипт на выполнение?


У меня есть проект spring-boot + flyway .

Можете пропробывать создать функцию при помощи flyway.

Хорошего вам дня!
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Автоматическое создание функции в Postgresql
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]