verify_other_visible.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. # -*- coding: utf-8 -*-
  2. import pymysql
  3. M = dict(
  4. host='cq-cdb-8fjmemkb.sql.tencentcdb.com',
  5. port=27220,
  6. user='root',
  7. password='Ylrz_1q2w3e4r5t6y',
  8. database='ylrz_saas',
  9. charset='utf8mb4',
  10. )
  11. c = pymysql.connect(**M)
  12. cur = c.cursor()
  13. cur.execute(
  14. 'SELECT visible, COUNT(*) FROM tenant_sys_menu WHERE parent_id=35300 GROUP BY visible'
  15. )
  16. print('direct children visible', cur.fetchall())
  17. cur.execute(
  18. "SELECT parent_id, path, COUNT(*) c FROM tenant_sys_menu "
  19. "WHERE menu_type<>'F' AND visible='0' GROUP BY parent_id, path HAVING c>1"
  20. )
  21. print('path dup', cur.fetchall())
  22. # simulate API visible=0 - count children returned for 35300
  23. cur.execute(
  24. "SELECT menu_id, menu_name, menu_type FROM tenant_sys_menu "
  25. "WHERE visible='0' AND parent_id=35300 ORDER BY order_num LIMIT 5"
  26. )
  27. print('sample visible children under 35300:')
  28. for r in cur.fetchall():
  29. print(' ', r)
  30. cur.execute(
  31. "SELECT COUNT(*) FROM tenant_sys_menu WHERE visible='0' AND parent_id=35300"
  32. )
  33. print('total visible direct children', cur.fetchone()[0])
  34. cur.close()
  35. c.close()