check-s8-business-roles.sql 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. -- =============================================================================
  2. -- check-s8-business-roles.sql
  3. -- S8-SEED-DURABILITY-1: read-only verification for S8 business role seed
  4. --
  5. -- Usage:
  6. -- mysql -h <host> -P 3306 -u <user> -p<pwd> <db> < check-s8-business-roles.sql
  7. --
  8. -- Expected output:
  9. -- SysRole count: 7
  10. -- S8RolePermConfig count: 7
  11. -- Demo01 binding count: 1
  12. -- Notification layer bad dates: 0
  13. -- =============================================================================
  14. SELECT '=== SysRole: S8 business roles ===' AS '';
  15. SELECT Id, Code, Name, Status
  16. FROM SysRole
  17. WHERE Id BETWEEN 1329908000101 AND 1329908000107
  18. ORDER BY Id;
  19. SELECT CONCAT(
  20. 'SysRole count: ', COUNT(*),
  21. ' (expected 7)'
  22. ) AS check_result
  23. FROM SysRole
  24. WHERE Id BETWEEN 1329908000101 AND 1329908000107;
  25. SELECT '=== ado_s8_role_permission_config ===' AS '';
  26. SELECT id, role_code, permission_codes
  27. FROM ado_s8_role_permission_config
  28. WHERE id BETWEEN 1329908000001 AND 1329908000007
  29. ORDER BY id;
  30. SELECT CONCAT(
  31. 'S8RolePermConfig count: ', COUNT(*),
  32. ' (expected 7)'
  33. ) AS check_result
  34. FROM ado_s8_role_permission_config
  35. WHERE id BETWEEN 1329908000001 AND 1329908000007;
  36. SELECT '=== SysUserRole: S8 business role bindings ===' AS '';
  37. SELECT ur.Id, ur.UserId, u.Account, r.Code AS RoleCode, r.Name AS RoleName
  38. FROM SysUserRole ur
  39. JOIN SysRole r ON ur.RoleId = r.Id
  40. JOIN SysUser u ON ur.UserId = u.Id
  41. WHERE ur.Id BETWEEN 1329909000001 AND 1329909000007
  42. ORDER BY ur.Id;
  43. SELECT CONCAT(
  44. 'S8 role binding count: ', COUNT(*),
  45. ' (expected 7)'
  46. ) AS check_result
  47. FROM SysUserRole
  48. WHERE Id BETWEEN 1329909000001 AND 1329909000007;
  49. SELECT CONCAT(
  50. 'Roles without any binding: ',
  51. COUNT(*),
  52. ' (expected 0)'
  53. ) AS check_result
  54. FROM SysRole r
  55. WHERE r.Id BETWEEN 1329908000101 AND 1329908000107
  56. AND NOT EXISTS (
  57. SELECT 1 FROM SysUserRole ur WHERE ur.RoleId = r.Id
  58. );
  59. SELECT '=== notification_layer zero-date guard ===' AS '';
  60. SELECT CONCAT(
  61. 'Notification layer bad dates: ', COUNT(*),
  62. ' (expected 0)'
  63. ) AS check_result
  64. FROM ado_s8_notification_layer
  65. WHERE YEAR(created_at) = 0;