30 lines
2.3 KiB
Markdown
30 lines
2.3 KiB
Markdown
# План миграции
|
|
|
|
## Этап 1 — повторить поведение (L)
|
|
|
|
Зафиксировать входной проект-копию, выбранные чертежи/линии, title block, таблицы и DOCX golden sample. Сравнить значения и структуру, не подключая production.
|
|
|
|
## Этап 2 — изолировать Plant 3D (XL)
|
|
|
|
Ввести `IPlantProjectDataProvider`; оставить legacy provider для DCF 2019 и сделать отдельный provider для 2026. DTO не должны зависеть от `DataRow` и AutoCAD COM.
|
|
|
|
## Этап 3 — перенести документный mapping (L)
|
|
|
|
Перенести только подтвержденный контракт: группы материалов, строки ВОР, title block и правила округления. Реализовать именованные slots/таблицы вместо индексов.
|
|
|
|
## Этап 4 — Word lifecycle (M)
|
|
|
|
Вынести Word в отдельный STA worker, cleanup каждого COM proxy, temporary copy, validation и диагностические ошибки. Сохранить шаблон неизменным.
|
|
|
|
## Этап 5 — эквивалентность (L)
|
|
|
|
Сравнить DOCX package, значения таблиц, headers/footers, PAGE/NUMPAGES, повторное открытие и отсутствие созданного Word process. PDF считать отдельным тестом: старый исходник экспорт PDF не подтверждает.
|
|
|
|
## Этап 6 — Plant 3D 2026 (XL)
|
|
|
|
Проверить console helper и DCF schema на копии проекта, затем обновить adapter/SDK. Не смешивать миграцию Plant и переписывание document engine.
|
|
|
|
### Runtime tests
|
|
|
|
Минимум: отсутствующие/открытые DWG; SQLite и SQL DCF; пустой проект; компоненты без line group; несколько материалов; пользовательская деталь; измененный шаблон; отсутствующий сетевой файл; Office отсутствует; Word COM cleanup; повторное открытие DOCX; сохранение исходного шаблона.
|