Make post-migration.py more robust when setting default status
- Check if status 'In Betrieb' exists before setting it - Add warning if status not found instead of SQL error - Status records are created automatically via XML data file
This commit is contained in:
parent
43cf5754fd
commit
e18f2880a4
|
|
@ -123,7 +123,31 @@ def migrate(cr, version):
|
|||
synced_categories = cr.rowcount
|
||||
_logger.info(f"✅ Synchronized {synced_categories} category values")
|
||||
|
||||
# 4. Validierung
|
||||
# 4. Setze Default-Status "In Betrieb" für migrierte Equipment ohne Status
|
||||
# (Status-Records werden automatisch über XML-Datei erstellt)
|
||||
_logger.info("Setting default status for equipment without status...")
|
||||
|
||||
# Prüfe ob Status "In Betrieb" existiert
|
||||
cr.execute("SELECT id FROM maintenance_equipment_status WHERE name = 'In Betrieb' LIMIT 1")
|
||||
status_result = cr.fetchone()
|
||||
|
||||
if status_result:
|
||||
status_id = status_result[0]
|
||||
cr.execute("""
|
||||
UPDATE maintenance_equipment me
|
||||
SET status_id = %s
|
||||
WHERE me.status_id IS NULL
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM ows_machine om
|
||||
WHERE om.equipment_id = me.id
|
||||
)
|
||||
""", (status_id,))
|
||||
status_set = cr.rowcount
|
||||
_logger.info(f"✅ Set default status for {status_set} equipment records")
|
||||
else:
|
||||
_logger.warning("⚠️ Status 'In Betrieb' not found - skipping status assignment")
|
||||
|
||||
# 5. Validierung
|
||||
cr.execute("SELECT COUNT(*) FROM ows_machine WHERE equipment_id IS NULL")
|
||||
remaining = cr.fetchone()[0]
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user