test_missing_fields_fix.sql 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. -- =====================================================
  2. -- 奖学金类型表字段修复验证脚本
  3. -- 创建时间: 2025-08-04
  4. -- 说明: 验证申请条件、评定标准、备注字段是否正确添加和工作
  5. -- =====================================================
  6. -- 1. 验证字段是否存在
  7. SELECT
  8. COLUMN_NAME as '字段名',
  9. DATA_TYPE as '数据类型',
  10. CHARACTER_MAXIMUM_LENGTH as '最大长度',
  11. IS_NULLABLE as '是否可空',
  12. COLUMN_DEFAULT as '默认值',
  13. COLUMN_COMMENT as '字段注释'
  14. FROM INFORMATION_SCHEMA.COLUMNS
  15. WHERE TABLE_SCHEMA = DATABASE()
  16. AND TABLE_NAME = 'jcbt_scholarship_type'
  17. AND COLUMN_NAME IN ('application_conditions', 'evaluation_criteria', 'remark')
  18. ORDER BY ORDINAL_POSITION;
  19. -- 2. 查看表结构(包含新增字段的完整表结构)
  20. DESCRIBE jcbt_scholarship_type;
  21. -- 3. 测试插入数据(包含新增字段)
  22. INSERT INTO jcbt_scholarship_type (
  23. id, type_code, type_name, type_category, level_type, award_amount,
  24. description, application_guide, application_conditions, evaluation_criteria, remark,
  25. sort_order, status, is_system, compatibility_type,
  26. create_by, create_time, update_by, update_time, tenant_id, deleted
  27. ) VALUES (
  28. 1001, 'TEST_001', '测试奖学金', 'ACADEMIC', 'FIRST_CLASS', 5000.00,
  29. '这是一个测试奖学金描述',
  30. '请按照以下步骤申请:\n1. 填写申请表\n2. 提交相关材料',
  31. '申请条件:\n1. 学习成绩优秀,GPA≥3.5\n2. 无违纪记录\n3. 积极参与社会实践',
  32. '评定标准:\n1. 学习成绩占60%\n2. 综合素质占30%\n3. 社会实践占10%',
  33. '备注:本奖学金每学期评选一次,优秀学生可连续获得',
  34. 1, 1, 0, 'COMPATIBLE',
  35. 1, NOW(), 1, NOW(), '000000', 0
  36. );
  37. -- 4. 验证数据插入是否成功
  38. SELECT
  39. id, type_code, type_name,
  40. LEFT(application_conditions, 50) as '申请条件_前50字符',
  41. LEFT(evaluation_criteria, 50) as '评定标准_前50字符',
  42. LEFT(remark, 50) as '备注_前50字符'
  43. FROM jcbt_scholarship_type
  44. WHERE type_code = 'TEST_001';
  45. -- 5. 测试更新操作
  46. UPDATE jcbt_scholarship_type
  47. SET
  48. application_conditions = '更新后的申请条件:\n1. GPA≥3.8\n2. 英语四级以上\n3. 无挂科记录',
  49. evaluation_criteria = '更新后的评定标准:\n1. 学习成绩70%\n2. 英语水平20%\n3. 综合表现10%',
  50. remark = '更新后的备注:此奖学金面向大二及以上学生',
  51. update_time = NOW()
  52. WHERE type_code = 'TEST_001';
  53. -- 6. 验证更新是否成功
  54. SELECT
  55. id, type_code, type_name,
  56. application_conditions as '申请条件',
  57. evaluation_criteria as '评定标准',
  58. remark as '备注',
  59. update_time as '更新时间'
  60. FROM jcbt_scholarship_type
  61. WHERE type_code = 'TEST_001';
  62. -- 7. 查询所有奖学金类型的这三个字段(查看现有数据)
  63. SELECT
  64. id, type_code, type_name,
  65. CASE
  66. WHEN application_conditions IS NULL THEN '空值'
  67. WHEN application_conditions = '' THEN '空字符串'
  68. ELSE CONCAT('有值-', LEFT(application_conditions, 20), '...')
  69. END as '申请条件状态',
  70. CASE
  71. WHEN evaluation_criteria IS NULL THEN '空值'
  72. WHEN evaluation_criteria = '' THEN '空字符串'
  73. ELSE CONCAT('有值-', LEFT(evaluation_criteria, 20), '...')
  74. END as '评定标准状态',
  75. CASE
  76. WHEN remark IS NULL THEN '空值'
  77. WHEN remark = '' THEN '空字符串'
  78. ELSE CONCAT('有值-', LEFT(remark, 20), '...')
  79. END as '备注状态'
  80. FROM jcbt_scholarship_type
  81. WHERE deleted = 0
  82. ORDER BY sort_order, create_time DESC;
  83. -- 8. 清理测试数据
  84. DELETE FROM jcbt_scholarship_type WHERE type_code = 'TEST_001';
  85. -- 9. 验证清理结果
  86. SELECT COUNT(*) as '清理后剩余测试数据数量'
  87. FROM jcbt_scholarship_type
  88. WHERE type_code = 'TEST_001';
  89. -- =====================================================
  90. -- 测试完成提示
  91. -- =====================================================
  92. SELECT
  93. '字段修复验证完成' as '状态',
  94. '如果以上查询都正常执行,说明字段修复成功' as '说明',
  95. '现在可以重启后端服务测试详情页面显示' as '下一步';