Создание views с человеческими именами в postgresql



Обработка для автоматического создания views для всех имеющихся в конфигурации объектов, в базе PostgreSQL.

Обработка создает SQL-скрипт создания SQL view для каждого объекта метаданных. Информация берется из функции ПолучитьСтруктуруХраненияБазыДанных(). Скрипт можно либо запустить целиком, либо использовать отдельные его части.

Пригодится для исследования объектов напрямую в базе, либо создания скриптов интеграции со сторонними системами.

Для того, чтобы длинные русские имена работали, postgresql нужно немного поправить:

--- postgresql-9.3.5/src/include/pg_config_manual.h.orig
+++ postgresql-9.3.5/src/include/pg_config_manual.h
@@ -20,7 +20,7 @@
*
* Changing this requires an initdb.
*/
-#define NAMEDATALEN 64
+#define NAMEDATALEN 256

/*
* Maximum number of arguments to a function.

Внимание: сначала pg_dump, а потом поставить пропатченную версию, потом initdb и загрузка.

В любом случае, сначала потренироваться на тестовой версии.

Если нет желания возиться с патчами — можно использовать SQL-скрипт, созданный обработкой, любым удобным способом.

Важно: перед обновлениями конфигурации нужно самостоятельно удалять вьюхи, иначе 1С не сможет удалить свои таблицы.

Проще всего это сделать, удалив полностью схему:

DROP SCHEMA names CASCADE;

После обновления требуется перегенерация скрипта SQL. Вспомогательная схема будет заново создана при запуске нового скрипта.

Также создается и заполняются две вспомогательных таблицы:

  • columns: соответствие оригинальных названий колонок и колонок вьюх
  • trefs: таблица с бинарными значениями Ссылка_Тип, чтобы можно было узнать, ссылка на какие метаданные указана в регистре или ТЧ

Обновление от 21.01.2024: добавлена таблица trefs.
Обновление от 12.02.2024: исправлено получение данных из поля "Назначение"

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *