From 3ddcb2d445763a24482fb4f8df56029704eed6e5 Mon Sep 17 00:00:00 2001 From: Stephen Soltesz Date: Wed, 27 May 2009 15:50:19 +0000 Subject: [PATCH] fix db consistency 'IntegryErrors' --- checksync.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 checksync.py diff --git a/checksync.py b/checksync.py new file mode 100755 index 0000000..2a17687 --- /dev/null +++ b/checksync.py @@ -0,0 +1,31 @@ +#!/usr/bin/python + +from monitor.database.info.model import * +import sys + +fbquery = HistoryNodeRecord.query.all() +hostnames = [ n.hostname for n in fbquery ] + +if True: + for hn in hostnames: + fbrec = FindbadNodeRecord.query.filter_by(hostname=hn).order_by(FindbadNodeRecord.version.desc()).first() + if len(fbrec.versions) >= 2: + if fbrec.version != fbrec.versions[-2].version + 1: + print fbrec.hostname, fbrec.version, fbrec.versions[-2].version + fbrec.version = fbrec.versions[-2].version + 1 + fbrec.flush() + + session.flush() + +fbquery = HistoryPCURecord.query.all() +pcus = [ n.plc_pcuid for n in fbquery ] + +for pcuid in pcus: + fbrec = FindbadPCURecord.query.filter_by(plc_pcuid=pcuid).order_by(FindbadPCURecord.version.desc()).first() + if len(fbrec.versions) >= 2: + if fbrec.version != fbrec.versions[-2].version + 1: + print fbrec.plc_pcuid, fbrec.version, fbrec.versions[-2].version + fbrec.version = fbrec.versions[-2].version + 1 + fbrec.flush() + +session.flush() -- 2.43.0