Обновление MIS3 — различия между версиями
(→Обновление метаданных) |
(→Обновление метаданных) |
||
| Строка 9: | Строка 9: | ||
IF NOT EXISTS(SELECT * | IF NOT EXISTS(SELECT * | ||
FROM information_schema.tables where table_schema||'.'||table_name=''''audit'''.'''logged_actions_warehouse_pharm'''') | FROM information_schema.tables where table_schema||'.'||table_name=''''audit'''.'''logged_actions_warehouse_pharm'''') | ||
| − | -- Вместо '''audit''' необходимо указать имя схемы БД в которой | + | -- Вместо ''''audit'''.'''logged_actions_warehouse_pharm'''' необходимо указать имя схемы БД в которой располагается объект |
| − | -- | + | -- и через точку указать имя обновляемой таблицы |
THEN | THEN | ||
<<Далее скрипт создающий таблицу в БД. Например: CREATE TABLE audit.logged_actions_warehouse_pharm... >> | <<Далее скрипт создающий таблицу в БД. Например: CREATE TABLE audit.logged_actions_warehouse_pharm... >> | ||
Версия 09:25, 21 января 2016
Обновление метаданных
При создании скриптов обновляющих объекты БД можно использовать проверку на существование обновляемых объектов БД. Для этого достаточно написать блок кода:
DO
$$
BEGIN
IF NOT EXISTS(SELECT *
FROM information_schema.tables where table_schema||'.'||table_name='audit.logged_actions_warehouse_pharm')
-- Вместо 'audit.logged_actions_warehouse_pharm' необходимо указать имя схемы БД в которой располагается объект
-- и через точку указать имя обновляемой таблицы
THEN
<<Далее скрипт создающий таблицу в БД. Например: CREATE TABLE audit.logged_actions_warehouse_pharm... >>
END IF ;
END;
$$
Данные в таблицах, которые должны быть одинаковыми на всех БД
- mm.app_tab - справочник закладок
- mm.rght - только первые 1000 записей, остальные все одинаковые
- mm.rsf_ref_column - колонки по реестру счетом
- audit.table_conf - назначение мест аудита для таблиц
Разрабатываемая система (Нефедов)
Этот раздел устарел!!!
Для выполнения пакетов обновления (подготовленных для удалённого выполнения) без наличия подключения к БД заказчиков можно использовать файл aUpdateIBIS.exe Этот файл облегчит процесс выполнения обновления для удалённых администраторов системы. Поэтому его нужно отправлять на объект вместе с запакованным 7zip или распакованным (в виде папки) архивом.
Когда администратор запустит aUpdateIBIS.exe, появится окно с просьбой - указать местонахождение директории из которой запускается система ИБИС. После того как директория будет указана, этот файл запустит A1IBIS.exe с параметром /runupd="путь к архиву обновления". При этом путь к архиву обновления будет сформирован автоматически.
В архиве (запакованном или распакованном) ОБЯЗАТЕЛЬНО должен находиться файл UPDATE.INI Cодержимое файла UPDATE.INI может быть таким:
[ORDER] 2=russian.lng 1=7za.dll
[PATH] russian.lng=test 7za.dll=test
В разделе ORDER указывается порядок обновляемых файлов, а в разделе PATH указывается название директории в которую A1IBIS.exe будет выкачивать файл. Наличие названий директорий в разделе PATH - не обязательно.
Исходники aUpdateIBIS.exe лежат тут: trunk/ER3/Source/!Updater
PS. Далее хотел бы добавить возможность, кроме файлов системы добавлять файлы скриптов (для их выполнения).