Files
zentao-flow/tmp/inspect_9197_e.py

35 lines
1.8 KiB
Python

# -*- coding: utf-8 -*-
"""只读:9197 的 userStory 引用及 zt_story_user 相关行在两库的差异。"""
import io, sys, pymysql
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
SRC = dict(host='192.168.3.200', user='root', password='PX4fTAAsJ#T!1',
database='zentao_dev', charset='utf8mb4', connect_timeout=15)
DST = dict(host='192.168.1.161', user='devgps', password='dev@2021GPS',
database='zentao_dev_2026', charset='utf8mb4', connect_timeout=15)
SID = 9197
src = pymysql.connect(**SRC); scur = src.cursor()
dst = pymysql.connect(**DST); dcur = dst.cursor()
scur.execute('SELECT user_story FROM zt_story WHERE id=%s', (SID,))
us_id = scur.fetchone()[0]
print(f'200: zt_story 9197.user_story = {us_id}')
dcur.execute('SELECT user_story FROM zt_story WHERE id=%s', (SID,))
print(f'161_2026: zt_story 9197.user_story = {dcur.fetchone()[0]}')
if us_id:
for label, cur in [('200', scur), ('161_2026', dcur)]:
cur.execute('SELECT id, product, project, parent, LEFT(title,40), status, deleted FROM zt_story_user WHERE id=%s', (us_id,))
print(f'{label} zt_story_user {us_id}:', cur.fetchone())
cur.execute('SELECT story, version, LEFT(title,40), LENGTH(spec) FROM zt_story_userspec WHERE story=%s', (us_id,))
print(f'{label} zt_story_userspec(story={us_id}):', cur.fetchall())
cur.execute('SELECT COUNT(*) FROM zt_story_user_task WHERE user_story_id=%s', (us_id,))
print(f'{label} zt_story_user_task(user_story_id={us_id}):', cur.fetchone()[0], '行')
# 该用户需求是否还关联其他研发需求(判断要不要一并带)
cur.execute('SELECT COUNT(*) FROM zt_story WHERE user_story=%s AND deleted="0"', (us_id,))
print(f'{label} 引用该用户需求的研发需求数:', cur.fetchone()[0])
src.close(); dst.close()
print('done')