70 lines
2.2 KiB
Python
70 lines
2.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Copyright 2026 Nexa Systems Inc.
|
|
# License OPL-1
|
|
#
|
|
# Phase 1 (Sub 11) — relocate fusion.plating.quality.check (+line)
|
|
# from fusion_plating_bridge_mrp to fusion_plating_quality.
|
|
# Drop the legacy production_id column on the existing table.
|
|
|
|
import logging
|
|
|
|
_logger = logging.getLogger(__name__)
|
|
|
|
|
|
def migrate(cr, version):
|
|
if not version:
|
|
return # Fresh install — nothing to migrate
|
|
|
|
patterns = [
|
|
'model_fusion_plating_quality_check',
|
|
'model_fusion_plating_quality_check_line',
|
|
'model_fp_qc_checklist_template',
|
|
'model_fp_qc_checklist_template_line',
|
|
'access_fp_qc_check_%',
|
|
'access_fp_qc_check_line_%',
|
|
'access_fp_qc_template_%',
|
|
'access_fp_qc_template_line_%',
|
|
'view_fp_quality_check%',
|
|
'view_fp_qc_template_%',
|
|
'fp_quality_check_%',
|
|
'action_fp_quality_check%',
|
|
'action_fp_qc_template%',
|
|
'menu_fp_quality_check%',
|
|
'menu_fp_qc_template%',
|
|
'qc_template_default',
|
|
'qc_template_aerospace',
|
|
'qc_tpl_%',
|
|
'seq_fp_quality_check',
|
|
]
|
|
for pat in patterns:
|
|
cr.execute(
|
|
"""
|
|
UPDATE ir_model_data
|
|
SET module = 'fusion_plating_quality'
|
|
WHERE module = 'fusion_plating_bridge_mrp'
|
|
AND name LIKE %s
|
|
AND NOT EXISTS (
|
|
SELECT 1 FROM ir_model_data d2
|
|
WHERE d2.module = 'fusion_plating_quality'
|
|
AND d2.name = ir_model_data.name
|
|
)
|
|
""",
|
|
(pat,),
|
|
)
|
|
if cr.rowcount:
|
|
_logger.info(
|
|
"Sub 11: re-keyed %d row(s) for %s -> fusion_plating_quality",
|
|
cr.rowcount, pat,
|
|
)
|
|
|
|
# Drop the legacy production_id column on fusion_plating_quality_check.
|
|
# Zero rows reference MRP (verified pre-cut). The new model declares
|
|
# job_id / sale_order_id / partner_id (related from job).
|
|
cr.execute(
|
|
"""
|
|
ALTER TABLE fusion_plating_quality_check
|
|
DROP COLUMN IF EXISTS production_id
|
|
"""
|
|
)
|
|
_logger.info("Sub 11: dropped production_id column on fusion_plating_quality_check")
|