check_menu_state.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. print('=== ROOT MENUS (parent_id=0, menu_type=M) ===')
  14. cur.execute(
  15. "SELECT menu_id, menu_name, order_num, path, visible, status "
  16. "FROM tenant_sys_menu WHERE parent_id=0 AND menu_type='M' "
  17. "ORDER BY order_num, menu_id"
  18. )
  19. for r in cur.fetchall():
  20. print(r)
  21. print('\n=== visible roots (visible=0) ===')
  22. cur.execute(
  23. "SELECT menu_id, menu_name, order_num, path "
  24. "FROM tenant_sys_menu WHERE parent_id=0 AND menu_type='M' AND visible='0' "
  25. "ORDER BY order_num"
  26. )
  27. for r in cur.fetchall():
  28. print(r)
  29. print('\n=== stats ===')
  30. cur.execute('SELECT COUNT(*) FROM tenant_sys_menu')
  31. print('total', cur.fetchone()[0])
  32. cur.execute(
  33. "SELECT COUNT(*) FROM tenant_sys_menu WHERE parent_id=0 AND visible='0' "
  34. "AND path IN ('admin','saas','proxy','tenant','monitor','tool','company')"
  35. )
  36. print('bad platform visible roots', cur.fetchone()[0])
  37. cur.execute(
  38. "SELECT COUNT(*) FROM tenant_sys_menu WHERE component LIKE 'admin/%' AND visible='0'"
  39. )
  40. print('visible admin components', cur.fetchone()[0])
  41. # system subtree
  42. print('\n=== system (32372) children ===')
  43. cur.execute(
  44. "SELECT menu_id, menu_name, parent_id, order_num, path, visible "
  45. "FROM tenant_sys_menu WHERE parent_id=32372 OR menu_id=32372 "
  46. "ORDER BY parent_id, order_num LIMIT 30"
  47. )
  48. for r in cur.fetchall():
  49. print(r)
  50. cur.close()
  51. c.close()