mcpField
D
db-load-dt

db-load-dt

github.com/nikolay-shirokov数据与数据库74145 次安装今天更新
代码仓库

关于 db-load-dt

用于将 DT 文件中的完整信息库(配置和数据)加载到 1C 数据库的技能。它面向需要恢复数据库的开发者;操作会覆盖现有内容,因此要求先备份并明确确认。

主要功能

  1. 01从 DT 文件恢复配置与数据
  2. 02支持文件库和服务器库
  3. 03读取项目配置解析数据库
  4. 04加载前要求备份与确认

适用场景

  1. 01从 DT 备份恢复现有数据库
  2. 02将数据库切换到保存的完整快照

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nikolay-shirokov/cc-1c-skills --skill db-load-dt

安装后在 Claude Code 中输入/db-load-dt确认已加载。

附带文件scripts/db-load-dt.ps1scripts/db-load-dt.py

README 原文English

来自项目 README

README 暂无中文译文,以下为英文原文;中文介绍见上方。

/db-load-dt — Загрузка информационной базы из DT-файла

Восстанавливает информационную базу целиком (конфигурация + данные) из DT-файла.

⚠️ Необратимая операция. Загрузка .dt полностью перезаписывает базу — и конфигурацию, и все данные. Текущее содержимое базы будет потеряно. После загрузки /db-update не нужен — конфигурация БД уже синхронна внутри снимка.

Когда НЕ использовать

  • Нужно создать новую базу из .dt → используй /db-create (из DT-шаблона), а не загрузку в существующую.
  • Нужно обновить только конфигурацию (без данных) → /db-load-cf или /db-load-xml.

Usage

/db-load-dt <input.dt> [database]
/db-load-dt backup.dt dev

Порядок действий перед загрузкой

  1. Предложи пользователю сначала сделать /db-dump-dt текущего состояния базы — это точка отката (восстановиться будет нечем, если не сохранить).
  2. Запроси явное подтверждение: вся база (данные + конфигурация) будет перезаписана.
  3. Только после подтверждения выполняй загрузку.

Параметры подключения

Прочитай .v8-project.json из корня проекта и разреши базу:

  1. Если пользователь указал параметры подключения (путь, сервер) — используй напрямую
  2. Если указал базу по имени — ищи по id / alias / name в .v8-project.json
  3. Если не указал — сопоставь текущую ветку Git с databases[].branches
  4. Если ветка не совпала — используй default Платформа — v8path найденной записи базы, иначе корневой v8path. Не задан ни там, ни там — -V8Path не передавай. Если файла нет — предложи /db-list add. Если использованная база не зарегистрирована — после выполнения предложи добавить через /db-list add.

Команда

powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-load-dt.ps1" <параметры>
Параметры скрипта
ПараметрОбязательныйОписание
-V8Path <путь>нетКаталог bin платформы, или полный путь к 1cv8.exe / ibcmd.exe
-InfoBasePath <путь>*Файловая база
-InfoBaseServer <сервер>*Сервер 1С (для серверной базы)
-InfoBaseRef <имя>*Имя базы на сервере
-UserName <имя>нетИмя пользователя
-Password <пароль>нетПароль
-InputFile <путь>даПуть к DT-файлу
-JobsCount <N>нетЧисло фоновых заданий загрузки (0 = по числу процессоров)
-UnlockCode <код>нетКод разблокировки (/UC), если заблокировано начало сеансов
-AdditionalV8Arguments <список>нетДоп. аргументы запуска 1cv8.exe через запятую, напр. /UseHwLicenses+
-AdditionalIbcmdArguments <список>нетДоп. аргументы ibcmd через запятую, в форме --ключ=значение

* — нужен либо -InfoBasePath, либо пара -InfoBaseServer + -InfoBaseRef

После выполнения

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

Примеры

# Файловая база
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-load-dt.ps1" -InfoBasePath "C:\Bases\MyDB" -UserName "Admin" -InputFile "C:\backup\base.dt"

# Серверная база с ускорением загрузки
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-load-dt.ps1" -InfoBaseServer "srv01" -InfoBaseRef "MyApp_Test" -UserName "Admin" -Password "secret" -InputFile "base.dt" -JobsCount 4

Связанные навыки

  • /db-dump-dt — выгрузка ИБ в DT (обратная операция, точка отката перед загрузкой)
  • /db-create — создать новую базу (в т.ч. из DT-шаблона)

评论

支持 Markdown