Files
zentao-flow/tmp/backfill_2026_setup.py
T

45 lines
2.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# -*- coding: utf-8 -*-
"""zentao_dev_2026 补功能必要配置数据(应用已切到 2026,不补功能残缺):
1. zt_perf_config 61 行规则(含 CHG-026 5‰ 参数)
2. ai 用户(zt_user,id=89 被占→自增)
3. base_menu 1539-1551(绩效菜单+按钮)
4. base_role_authority 对应授权(自增 id)
"""
import io, sys, pymysql
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
conn = pymysql.connect(host='192.168.1.161', user='devgps', password='dev@2021GPS',
database='zentao_dev', charset='utf8mb4', autocommit=True)
cur = conn.cursor()
# 1. 绩效规则
cur.execute("INSERT INTO zentao_dev_2026.zt_perf_config SELECT * FROM zentao_dev.zt_perf_config")
print('zt_perf_config 灌入:', cur.rowcount)
# 2. ai 用户(排除 id 自增)
cur.execute('SHOW COLUMNS FROM zt_user')
cols = [r[0] for r in cur.fetchall() if r[0] != 'id']
col_sql = ','.join(f'`{c}`' for c in cols)
cur.execute(f"INSERT INTO zentao_dev_2026.zt_user ({col_sql}) SELECT {col_sql} FROM zentao_dev.zt_user WHERE account='ai'")
print('ai 用户灌入:', cur.rowcount)
cur.execute("SELECT id, account, nickname FROM zentao_dev_2026.zt_user WHERE account='ai'")
print(' →', cur.fetchone())
# 3. 绩效菜单
cur.execute("INSERT INTO zentao_dev_2026.base_menu SELECT * FROM zentao_dev.base_menu WHERE id BETWEEN 1539 AND 1551")
print('base_menu 灌入:', cur.rowcount)
# 4. 菜单授权(排除 id 自增)
cur.execute('SHOW COLUMNS FROM base_role_authority')
acols = [r[0] for r in cur.fetchall() if r[0] != 'id']
acol_sql = ','.join(f'`{c}`' for c in acols)
cur.execute(f"""INSERT INTO zentao_dev_2026.base_role_authority ({acol_sql})
SELECT {acol_sql} FROM zentao_dev.base_role_authority WHERE menu_id BETWEEN 1539 AND 1551""")
print('authority 灌入:', cur.rowcount)
# 验证
cur.execute('SELECT COUNT(*) FROM zentao_dev_2026.zt_perf_config WHERE enabled=1')
print('验证 新库启用规则:', cur.fetchone()[0])
cur.execute('SELECT COUNT(*) FROM zentao_dev_2026.base_menu WHERE id BETWEEN 1539 AND 1551')
print('验证 新库菜单:', cur.fetchone()[0])