# -*- 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")