import sys,json from pathlib import Path sys.path.insert(0,str(Path(__file__).parent/'deps')) import pymysql P=Path(__file__).parent c=pymysql.connect(host='36.213.150.237',port=10000,user='root',password=sys.stdin.readline().strip(),database='mom-hm',charset='utf8mb4',connect_timeout=10,read_timeout=45,cursorclass=pymysql.cursors.DictCursor) with c.cursor() as q: q.execute('SELECT DATABASE() db');assert q.fetchone()['db']=='mom-hm' q.execute("SHOW COLUMNS FROM mes_qc_iqc LIKE 'vendor_name'");field=q.fetchone() added=field is None if added:q.execute("ALTER TABLE mes_qc_iqc ADD COLUMN vendor_name varchar(255) DEFAULT NULL COMMENT '供应商名称(手填)' AFTER vendor_id") else:assert field['Type']=='varchar(255)',field q.execute('UPDATE mes_qc_iqc iqc JOIN srm_supplier supplier ON supplier.id=iqc.vendor_id SET iqc.vendor_name=supplier.name WHERE iqc.vendor_name IS NULL') backfilled=q.rowcount q.execute('SELECT COUNT(*) n FROM mes_qc_iqc WHERE deleted=0');total=q.fetchone()['n'] q.execute("SELECT COUNT(*) n FROM mes_qc_template WHERE deleted=0 AND code LIKE 'SOP-QC-YL-%'");templates=q.fetchone()['n'] c.commit() result={'target':'36.213.150.237:10000/mom-hm','vendor_name_added':added,'vendor_name_verified':True,'vendor_names_backfilled':backfilled,'existing_iqc_count':total,'existing_sop_yl_templates':templates,'data_imported':0,'data_import_pending':'缺失基础数据及重复编号待确认','date_rule':'receive_date = inspect_date - 15 days'} (P/'schema-sync-result.json').write_text(json.dumps(result,ensure_ascii=False,indent=2),encoding='utf8') print(json.dumps(result,ensure_ascii=False)) c.close()