gaoluyang
7 天以前 e40a608ef9bf51db294d8eefada6a8e2e80cebca
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import sys,json
from pathlib import Path
sys.stdout.reconfigure(encoding='utf-8')
sys.path.insert(0,str(Path('scripts/iqc-import-20261012/deps').resolve()))
import pymysql
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)
out={}
with c.cursor() as q:
 for t in ['crm_business_status_type','crm_business_status','crm_business','crm_business_product','crm_contact_business','crm_follow_up_record','crm_permission','crm_sale_quotation','crm_contract']:
  q.execute('SHOW FULL COLUMNS FROM '+t);out[t]={'columns':q.fetchall()}
  if t in ['crm_business_status_type','crm_business_status']:
   q.execute('SELECT * FROM '+t+' WHERE deleted=0');out[t]['rows']=q.fetchall()
 q.execute('SELECT b.*,c.name AS customer_name FROM crm_business b LEFT JOIN crm_customer c ON b.customer_id=c.id WHERE b.deleted=0 ORDER BY b.id');out['businesses']=q.fetchall()
 q.execute("SELECT table_name,column_name,data_type FROM information_schema.columns WHERE table_schema=DATABASE() AND (column_name IN ('business_id','business_ids') OR table_name LIKE 'crm_%' AND column_name IN ('biz_id','biz_type'))");out['references']=q.fetchall()
Path(__file__).with_name('audit.json').write_text(json.dumps(out,ensure_ascii=False,indent=2,default=str),encoding='utf8')
print(json.dumps({'flows':out['crm_business_status_type']['rows'],'stages':out['crm_business_status']['rows'],'businesses':[{'id':x['id'],'name':x['name'],'customer':x['customer_name'],'status_type_id':x['status_type_id'],'status_id':x['status_id'],'end_status':x['end_status']} for x in out['businesses']],'references':out['references']},ensure_ascii=False,default=str))
c.close()