2.3 KiB
План миграции
Этап 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; сохранение исходного шаблона.