云
昨天 74b0d9c5ab1dc316b29f8525dcffe45225d4c43c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import sys,json
from pathlib import Path
P=Path(__file__).parent
sys.path.insert(0,str(P.parent/'iqc-import-20261012/deps'))
import pymysql
r=json.loads((P/'source-order-regroup-result.json').read_text(encoding='utf8'))
c=pymysql.connect(host='36.213.150.237',port=10000,user='root',password=sys.stdin.readline().strip(),database='mom-hm',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)
s={'tables':{}}
with c.cursor() as q:
 q.execute('SELECT NOW() now,DATABASE() db');s['state']=q.fetchone()
 q.execute("SELECT table_name FROM information_schema.tables WHERE table_schema=DATABASE() AND (table_name LIKE 'mes_wm_%' OR table_name LIKE '%%carrier%%' OR table_name LIKE '%%shipment%%')");s['available_tables']=[x['TABLE_NAME'] for x in q.fetchall()]
 for t in ['erp_sale_order','erp_sale_order_items','mes_wm_sales_notice','mes_wm_sales_notice_line','mes_wm_product_sales','mes_wm_product_sales_line','mes_wm_product_sales_detail','mes_wm_material_stock','mes_wm_stock_reserve','mes_wm_transaction','mes_wm_batch','mes_wm_warehouse','mes_wm_warehouse_location','mes_wm_warehouse_area','mes_qc_oqc','mes_md_item','mdm_item','mes_md_unit_measure']:
  q.execute('SELECT COUNT(*) n FROM information_schema.tables WHERE table_schema=DATABASE() AND table_name=%s',(t,))
  if not q.fetchone()['n']:continue
  q.execute('SHOW CREATE TABLE `'+t+'`');ddl=q.fetchone()['Create Table']
  q.execute('SELECT * FROM `'+t+'` WHERE deleted=0 ORDER BY id');rows=q.fetchall();s['tables'][t]={'ddl':ddl,'rows':rows}
  print(t,len(rows))
  if t not in ['erp_sale_order','erp_sale_order_items','mes_md_item','mdm_item','mes_md_unit_measure','mes_qc_oqc']:print(ddl)
(P/'shipping-before.json').write_text(json.dumps(s,ensure_ascii=False,default=str,indent=2),encoding='utf8');c.close()