Split 49 modules/suites into independent git repos; untrack from monorepo
Some checks failed
fusion_accounting CI / test (fusion_accounting_ai) (push) Has been cancelled
fusion_accounting CI / test (fusion_accounting_core) (push) Has been cancelled
fusion_accounting CI / test (fusion_accounting_migration) (push) Has been cancelled

Each top-level module/suite folder is now its own private repo on GitHub
(gsinghpal/<name>) and gitea (admin/<name>), with a fresh single initial
commit. The monorepo no longer tracks them (added to .gitignore + git rm
--cached); working-tree files are retained on disk and managed in their
own repos. The monorepo keeps shared root files (CLAUDE.md, docs/, scripts/,
tools/, AGENTS.md, WIP/obsolete dirs) and full history.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsinghpal
2026-06-07 01:54:34 -04:00
parent 2a7b315e98
commit a66cdefc01
6740 changed files with 51 additions and 1277207 deletions

View File

@@ -1,69 +0,0 @@
# -*- 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")