feat(db-load-xml, db-load-git): add -UpdateDB flag to combine load + update in one Designer run

Closes #8 — adds /UpdateDBCfg parameter support so users can load config
and update database in a single 1C Designer invocation instead of two.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-03-13 10:57:15 +03:00
parent 733418e630
commit f7a27e750d
6 changed files with 43 additions and 9 deletions
+5 -1
View File
@@ -58,6 +58,7 @@ powershell.exe -NoProfile -File .claude/skills/db-load-git/scripts/db-load-git.p
| `-AllExtensions` | нет | Загрузить все расширения |
| `-Format <формат>` | нет | `Hierarchical` (по умолч.) / `Plain` |
| `-DryRun` | нет | Только показать что будет загружено (без загрузки) |
| `-UpdateDB` | нет | После загрузки сразу обновить конфигурацию БД (`/UpdateDBCfg`) |
> `*` — нужен либо `-InfoBasePath`, либо пара `-InfoBaseServer` + `-InfoBaseRef`
@@ -88,7 +89,7 @@ powershell.exe -NoProfile -File .claude/skills/db-load-git/scripts/db-load-git.p
## После выполнения
1. Показать список загруженных файлов
2. **Предложить `/db-update`** для применения изменений к БД
2. Если `-UpdateDB` не был указан — **предложить `/db-update`** для применения изменений к БД
## Примеры
@@ -107,4 +108,7 @@ powershell.exe -NoProfile -File .claude/skills/db-load-git/scripts/db-load-git.p
# Только посмотреть (DryRun)
powershell.exe -NoProfile -File .claude/skills/db-load-git/scripts/db-load-git.ps1 -InfoBasePath "C:\Bases\MyDB" -ConfigDir "C:\WS\cfsrc" -DryRun
# Загрузка + обновление БД в одном запуске
powershell.exe -NoProfile -File .claude/skills/db-load-git/scripts/db-load-git.ps1 -InfoBasePath "C:\Bases\MyDB" -UserName "Admin" -ConfigDir "C:\WS\cfsrc" -Source All -UpdateDB
```
@@ -1,4 +1,4 @@
# db-load-git v1.1 — Load Git changes into 1C database
# db-load-git v1.2 — Load Git changes into 1C database
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
<#
.SYNOPSIS
@@ -98,7 +98,10 @@ param(
[string]$Format = "Hierarchical",
[Parameter(Mandatory=$false)]
[switch]$DryRun
[switch]$DryRun,
[Parameter(Mandatory=$false)]
[switch]$UpdateDB
)
$OutputEncoding = [System.Text.Encoding]::UTF8
@@ -314,6 +317,11 @@ try {
$arguments += "-AllExtensions"
}
# --- UpdateDB ---
if ($UpdateDB) {
$arguments += "/UpdateDBCfg"
}
# --- Output ---
$outFile = Join-Path $tempDir "load_log.txt"
$arguments += "/Out", "`"$outFile`""
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# db-load-git v1.1 — Load Git changes into 1C database
# db-load-git v1.2 — Load Git changes into 1C database
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -84,6 +84,7 @@ def main():
help="File format (default: Hierarchical)",
)
parser.add_argument("-DryRun", action="store_true", help="Only show what would be loaded (no actual load)")
parser.add_argument("-UpdateDB", action="store_true", help="Also update database configuration after load")
args = parser.parse_args()
# --- Resolve V8Path (skip if DryRun) ---
@@ -238,6 +239,10 @@ def main():
elif args.AllExtensions:
arguments.append("-AllExtensions")
# --- UpdateDB ---
if args.UpdateDB:
arguments.append("/UpdateDBCfg")
# --- Output ---
out_file = os.path.join(temp_dir, "load_log.txt")
arguments += ["/Out", out_file]
+5 -1
View File
@@ -58,6 +58,7 @@ powershell.exe -NoProfile -File .claude/skills/db-load-xml/scripts/db-load-xml.p
| `-Extension <имя>` | нет | Загрузить в расширение |
| `-AllExtensions` | нет | Загрузить все расширения |
| `-Format <формат>` | нет | `Hierarchical` (по умолч.) / `Plain` |
| `-UpdateDB` | нет | После загрузки сразу обновить конфигурацию БД (`/UpdateDBCfg`) |
> `*` — нужен либо `-InfoBasePath`, либо пара `-InfoBaseServer` + `-InfoBaseRef`
@@ -89,7 +90,7 @@ Documents/Заказ/Forms/ФормаДокумента.xml
## После выполнения
1. Прочитай лог и покажи результат
2. **Предложи выполнить `/db-update`** для применения изменений к БД
2. Если `-UpdateDB` не был указан — **предложи выполнить `/db-update`** для применения изменений к БД
## Примеры
@@ -102,4 +103,7 @@ powershell.exe -NoProfile -File .claude/skills/db-load-xml/scripts/db-load-xml.p
# Загрузка расширения
powershell.exe -NoProfile -File .claude/skills/db-load-xml/scripts/db-load-xml.ps1 -InfoBasePath "C:\Bases\MyDB" -UserName "Admin" -ConfigDir "C:\WS\ext_src" -Mode Full -Extension "МоёРасширение"
# Загрузка + обновление БД в одном запуске
powershell.exe -NoProfile -File .claude/skills/db-load-xml/scripts/db-load-xml.ps1 -InfoBasePath "C:\Bases\MyDB" -UserName "Admin" -ConfigDir "C:\WS\cfsrc" -Mode Full -UpdateDB
```
@@ -1,5 +1,5 @@
# db-load-xml v1.0 — Load 1C configuration from XML files
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
# db-load-xml v1.1 — Load 1C configuration from XML files
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
<#
.SYNOPSIS
Загрузка конфигурации 1С из XML-файлов
@@ -95,7 +95,10 @@ param(
[Parameter(Mandatory=$false)]
[ValidateSet("Hierarchical", "Plain")]
[string]$Format = "Hierarchical"
[string]$Format = "Hierarchical",
[Parameter(Mandatory=$false)]
[switch]$UpdateDB
)
$OutputEncoding = [System.Text.Encoding]::UTF8
@@ -195,6 +198,11 @@ try {
$arguments += "-AllExtensions"
}
# --- UpdateDB ---
if ($UpdateDB) {
$arguments += "/UpdateDBCfg"
}
# --- Output ---
$outFile = Join-Path $tempDir "load_log.txt"
$arguments += "/Out", "`"$outFile`""
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# db-load-xml v1.0 — Load 1C configuration from XML files
# db-load-xml v1.1 — Load 1C configuration from XML files
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
import argparse
@@ -62,6 +62,7 @@ def main():
choices=["Hierarchical", "Plain"],
help="File format (default: Hierarchical)",
)
parser.add_argument("-UpdateDB", action="store_true", help="Also update database configuration after load")
args = parser.parse_args()
# --- Resolve V8Path ---
@@ -138,6 +139,10 @@ def main():
elif args.AllExtensions:
arguments.append("-AllExtensions")
# --- UpdateDB ---
if args.UpdateDB:
arguments.append("/UpdateDBCfg")
# --- Output ---
out_file = os.path.join(temp_dir, "load_log.txt")
arguments += ["/Out", out_file]