Skip to content

Commit 0e660ed

Browse files
authored
Реализация использования ibcmd для серверных баз (#639)
* Первая имплементация * Тест вывода * Альфа вариант. Изменено поведение менеджеров сборки для корректной работы ibcmd с серверными базами * Добавил возможность устанавливать приоритетные настройки. Теперь в файле настройки конкртеной команды - обладают большим приоритетом, чем дефолтные. Таким образом можно гибко рулить настройками для различных команд(Напрмер собирать с ibcmd, а выгружать без и тд.) * Добавил в дефолтную схему ibcmd * Первая имплементация * Тест вывода * Ребейз из девелопа * Добавил возможность устанавливать приоритетные настройки. Теперь в файле настройки конкртеной команды - обладают большим приоритетом, чем дефолтные. Таким образом можно гибко рулить настройками для различных команд(Напрмер собирать с ibcmd, а выгружать без и тд.) * Добавил в дефолтную схему ibcmd * Фикс тестов * Рефакторинг * вернул ошибочное форматирование * Вынес изменения по чтению параметров в отдельный ПР * fix замечаний * Добавил приведение написания переданных ДБ к каноническому. * фикс сонара * Отработал замечания
1 parent 654ab1d commit 0e660ed

21 files changed

+220
-66
lines changed

src/Классы/КомандаВыгрузитьИнфобазуВФайл.os

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@
2929

3030
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "dtpath",
3131
"Путь к результату - выгружаемому файлу с данными (*.dt)");
32-
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--ibcmd",
33-
"Использовать утилиту ibcmd вместо конфигуратора");
32+
ОбщиеМетоды.ДобавитьБлокIbcmd(Парсер, ОписаниеКоманды);
3433

3534
Парсер.ДобавитьКоманду(ОписаниеКоманды);
3635

src/Классы/КомандаВыгрузитьКонфигурациюВФайл.os

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@
2929

3030
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "cfpath",
3131
"Путь к результату - выгружаемому файлу конфигурации (*.cf)");
32-
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--ibcmd",
33-
"Использовать утилиту ibcmd вместо конфигуратора");
32+
ОбщиеМетоды.ДобавитьБлокIbcmd(Парсер, ОписаниеКоманды);
3433

3534
Парсер.ДобавитьКоманду(ОписаниеКоманды);
3635

src/Классы/КомандаВыгрузитьРасширениеВФайл.os

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@
2929
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "cfepath",
3030
"Путь к результату - выгружаемому файлу расширения (*.cfe)");
3131
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "extname", "Имя расширения");
32-
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--ibcmd",
33-
"Использовать утилиту ibcmd вместо конфигуратора");
32+
ОбщиеМетоды.ДобавитьБлокIbcmd(Парсер, ОписаниеКоманды);
3433

3534
Парсер.ДобавитьКоманду(ОписаниеКоманды);
3635

src/Классы/КомандаЗагрузитьИнфобазуИзФайла.os

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@
2727

2828
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "dtpath",
2929
"Путь к файлу с данными информационной базы (*.dt)");
30-
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--ibcmd",
31-
"Использовать утилиту ibcmd вместо конфигуратора");
30+
ОбщиеМетоды.ДобавитьБлокIbcmd(Парсер, ОписаниеКоманды);
3231

3332
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--JobsCount ",
3433
"Количество заданий для загрузки информационной базы. Значение по умолчанию ‑ 0, что означает, будет столько заданий, сколько и процессоров.

src/Классы/КомандаЗагрузитьРасширениеИзФайла.os

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@
3232
| Пример: 1Cv8_$version.cfе выгрузит файл вида 1Cv8_1.2.3.4.cfе");
3333
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "--extension", "Имя расширения. Обязательный параметр.");
3434
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--updatedb", "Признак обновления расширения");
35-
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--ibcmd",
36-
"Использовать утилиту ibcmd вместо конфигуратора");
35+
ОбщиеМетоды.ДобавитьБлокIbcmd(Парсер, ОписаниеКоманды);
3736

3837
Парсер.ДобавитьКоманду(ОписаниеКоманды);
3938

src/Классы/КомандаЗагрузитьФайлКонфигурации.os

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@
3232
"Краткая команда 'путь к cf --src', пример: -s ./1Cv8.cf
3333
| В пути файла можно указать шаблонную переменную $version для подстановки в нее версии конфигурации
3434
| Пример: 1Cv8_$version.cf выгрузит файл вида 1Cv8_1.2.3.4.cf");
35-
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--ibcmd",
36-
"Использовать утилиту ibcmd вместо конфигуратора");
35+
ОбщиеМетоды.ДобавитьБлокIbcmd(Парсер, ОписаниеКоманды);
3736

3837
Парсер.ДобавитьКоманду(ОписаниеКоманды);
3938

src/Классы/КомандаИнициализацияОкружения.os

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@
5555
"Поддержка режима реструктуризации -v1 на сервере");
5656
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--v2",
5757
"Поддержка режима реструктуризации -v2 на сервере");
58-
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--ibcmd",
59-
"Использовать утилиту ibcmd вместо конфигуратора");
58+
ОбщиеМетоды.ДобавитьБлокIbcmd(Парсер, ОписаниеКоманды);
6059

6160
Парсер.ДобавитьКоманду(ОписаниеКоманды);
6261

@@ -109,11 +108,8 @@
109108
Знач НеДобавлятьВСписокБаз,
110109
Знач ПараметрыКоманды)
111110

112-
Перем БазуСоздавали;
113111
БазуСоздавали = Ложь;
114112

115-
Пользователь = ДанныеПодключения.Пользователь;
116-
Пароль = ДанныеПодключения.Пароль;
117113
Если ПустаяСтрока(ДанныеПодключения.ПутьБазы) Тогда
118114
ДанныеПодключения = СоздатьДанныеПодключения(ДанныеПодключения);
119115
КонецЕсли;
@@ -124,25 +120,24 @@
124120

125121
Лог.Отладка("ИнициализироватьБазуДанных СтрокаПодключения:" + СтрокаПодключения);
126122

123+
// Базу создали, пользователей еще нет.
127124
Если ОбщиеМетоды.ЭтоФайловаяИБ(СтрокаПодключения) Тогда
128-
129125
ОбеспечитьФайловуюБазу(МенеджерСборки, СтрокаПодключения);
130-
БазуСоздавали = Истина;
131126
Лог.Информация("Создали базу данных для " + СтрокаПодключения);
132127

133-
КонецЕсли;
134-
135-
// Базу создали, пользователей еще нет.
136-
Если БазуСоздавали Тогда
137-
МенеджерСборки.УстановитьКонтекст(СтрокаПодключения, "", "");
128+
ВременныеДанныеПодключения = Новый Структура("ПутьБазы, Пользователь, Пароль",
129+
СтрокаПодключения,
130+
"",
131+
"");
132+
МенеджерСборки.УстановитьКонтекст(ВременныеДанныеПодключения);
138133
Иначе
139-
МенеджерСборки.УстановитьКонтекст(СтрокаПодключения, Пользователь, Пароль);
134+
МенеджерСборки.УстановитьКонтекст(ДанныеПодключения);
140135
КонецЕсли;
141136

142137
Если ЗначениеЗаполнено(ПутьКФайлуВыгрузки) Тогда
143138
ЗагрузкаИзФайлаВыгрузки(МенеджерСборки);
144139
// Так или иначе тут уже должны быть установленны пользователь и пароль
145-
МенеджерСборки.УстановитьКонтекст(СтрокаПодключения, Пользователь, Пароль);
140+
МенеджерСборки.УстановитьКонтекст(ДанныеПодключения);
146141
КонецЕсли;
147142

148143
НужноОбновить = Истина;
@@ -173,8 +168,11 @@
173168
КонецПроцедуры
174169

175170
Процедура ОбеспечитьФайловуюБазу(МенеджерСборки, СтрокаПодключения)
176-
177-
МенеджерСборки.УстановитьКонтекст(СтрокаПодключения, "", "");
171+
ВременныеДанныеПодключения = Новый Структура("ПутьБазы, Пользователь, Пароль",
172+
СтрокаПодключения,
173+
"",
174+
"");
175+
МенеджерСборки.УстановитьКонтекст(ВременныеДанныеПодключения);
178176
КаталогБазы = ОбщиеМетоды.КаталогФайловойИБ(СтрокаПодключения);
179177

180178
Лог.Отладка("Нашли каталог базы для удаления <%1> ", КаталогБазы);

src/Классы/КомандаОбновлениеКонфигурацииБД.os

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,7 @@
3434
"Поддержка режима реструктуризации -v2 на сервере");
3535
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--dynamic",
3636
"Динамическое обновление конфигурации");
37-
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--ibcmd",
38-
"Использовать утилиту ibcmd вместо конфигуратора");
37+
ОбщиеМетоды.ДобавитьБлокIbcmd(Парсер, ОписаниеКоманды);
3938

4039
КонецПроцедуры // ЗарегистрироватьКоманду
4140

src/Классы/КомандаОбновлениеОкружения.os

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,7 @@
6969
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--v2",
7070
"Поддержка режима реструктуризации -v2 на сервере");
7171

72-
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--ibcmd",
73-
"Использовать утилиту ibcmd вместо конфигуратора");
72+
ОбщиеМетоды.ДобавитьБлокIbcmd(Парсер, ОписаниеКоманды);
7473

7574
Парсер.ДобавитьКоманду(ОписаниеКоманды);
7675

src/Классы/КомандаОбновлениеРасширений.os

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@
2323
ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, ТекстОписания);
2424

2525
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "extensionName", "Имя расширения, которое нужно обновить");
26-
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--ibcmd",
27-
"Использовать утилиту ibcmd вместо конфигуратора");
26+
ОбщиеМетоды.ДобавитьБлокIbcmd(Парсер, ОписаниеКоманды);
2827

2928
Парсер.ДобавитьКоманду(ОписаниеКоманды);
3029

0 commit comments

Comments
 (0)