# -*- coding: utf-8 -*- import io, os, re, glob base = r'C:\Users\jcxiong\Documents\Codex\MyProject\trafficAudit' with io.open(os.path.join(base, 'docs', 'init.sql'), encoding='utf-8') as f: sql = f.read() def snake(name): return re.sub(r'(? NO @TableName'); continue tname = tm.group(1) fields = re.findall(r'private\s+[\w<>]+\s+(\w+);', src) fields = [x for x in fields if x != 'serialVersionUID'] col_fields = {snake(fld) for fld in fields} missing = sorted(col_fields - tables.get(tname, set())) extra = sorted(tables.get(tname, set()) - col_fields) status = 'OK' if not missing else 'MISSING: ' + ', '.join(missing) print(f'{os.path.basename(f)} -> {tname}: {status}') if extra: print(' (table-only cols):', ', '.join(extra))