powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Условное выполнение (conditional execution) в SQL скрипте
8 сообщений из 8, страница 1 из 1
Условное выполнение (conditional execution) в SQL скрипте
    #35498957
Robert Ayrapetyan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возможно ли в SQL-скрипте использовать IFDEF-like директивы? Например, при инициализации базы отладочной нужно делать COPY одних файлов, а релизной - других. Надоело комментировать\раскомментировать строки для разных версий.
...
Рейтинг: 0 / 0
Условное выполнение (conditional execution) в SQL скрипте
    #35498991
SeniorAndre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заводится таблица с параметрами (если её еще нет), туда пишем номер версии БД, а в коде ставим вызов функции, которая возвращает версию БД и на основании этого ветвим код в любом месте. Тоже самое можно сделать с DebugMode. В БД разработки у меня стоит True для параметра "isDebugMode", а в рабочей БД он False.
Конечно больше запросов, но они кэшируются.
...
Рейтинг: 0 / 0
Условное выполнение (conditional execution) в SQL скрипте
    #35499218
Robert Ayrapetyan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я наверно неправильно выразил вопрос.
У меня есть скрипт, огроменный. Вначале идут CREATE USER, потом десятки CREATE TABLE, десятки CREATE FUNCTION, потом в конце скрипта десятки COPY (инициализация таблиц).
В зависимости от релиз/дебаг мне приходится комментировать одну группу COPY и раскомментировать другую. Надоело это делать.

Теперь, можно вынести все COPY в отдельную процедуру и вызывать ее же из общего скрипта. Но опять же, нужно инициализировать таблицу "с параметрами" isDebug (INSERT-ами из общего скрипта?). Где-то в скрипте это выискивать все время и менять тоже утомительно, вот если бы можно было сделать DEFINE DB_VER "DEBUG" в начале SQL скрипта было бы зашибись.
...
Рейтинг: 0 / 0
Условное выполнение (conditional execution) в SQL скрипте
    #35499307
chAlx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Robert AyrapetyanУ меня есть скрипт, огроменный. Вначале идут CREATE USER
Ну так вот же, в начале идёт -- чем не переменная? ;) CREATE USER debug_mode_off , потом в процедуре проверить его наличие чем-нибудь типа has_database_privilege().
...
Рейтинг: 0 / 0
Условное выполнение (conditional execution) в SQL скрипте
    #35499319
chAlx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или даже без процедуры обойтись: под одним юзером одно добавлять, под другим другое, а в начале создавать одного из них.
Только варнингов будет..
...
Рейтинг: 0 / 0
Условное выполнение (conditional execution) в SQL скрипте
    #35500200
Robert Ayrapetyan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это все не то... Да, слаб SQL-Script. Неужели все так и создают юзеров с именем версии?
...
Рейтинг: 0 / 0
Условное выполнение (conditional execution) в SQL скрипте
    #35501168
Jelis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я в таком случае разбиваю sql скрипт на части (инициализация пользователлей, таблиц, представлений, рабочие данные, тестовые данные) и просто делаю два разных (а можно и один с переменной DEBUG) шеловских скрипта, в которых выполняю только необходимые части.
...
Рейтинг: 0 / 0
Условное выполнение (conditional execution) в SQL скрипте
    #35501218
SeniorAndre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аналогично есть куча скриптов, последовательным запуском которых можно создать любую версию БД. А сборка батниками
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Условное выполнение (conditional execution) в SQL скрипте
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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