|
|
@@ -2823,6 +2823,26 @@ log.info("已添加template_id列到tasks表");
|
|
|
} catch (Exception e) {
|
|
|
log.warn("health_norm_reference 常模种子数据初始化失败: {}", e.getMessage());
|
|
|
}
|
|
|
+
|
|
|
+ // 迁移: articles表添加审核和作者类型字段
|
|
|
+ try {
|
|
|
+ Integer exists = jdbcTemplate.queryForObject(
|
|
|
+ "SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'articles' AND COLUMN_NAME = 'audit_status'",
|
|
|
+ Integer.class);
|
|
|
+ if (exists == null || exists == 0) {
|
|
|
+ jdbcTemplate.execute("ALTER TABLE articles " +
|
|
|
+ "ADD COLUMN author_type VARCHAR(20) DEFAULT 'admin' COMMENT '作者类型:admin/parent/child' AFTER created_by, " +
|
|
|
+ "ADD COLUMN audit_status VARCHAR(20) DEFAULT 'approved' COMMENT '审核状态:approved/pending/rejected' AFTER status, " +
|
|
|
+ "ADD COLUMN audit_reason TEXT COMMENT '驳回原因' AFTER audit_status, " +
|
|
|
+ "ADD COLUMN auditor_id BIGINT DEFAULT 0 COMMENT '审核人 ID' AFTER audit_reason, " +
|
|
|
+ "ADD COLUMN audited_at DATETIME COMMENT '审核时间' AFTER auditor_id");
|
|
|
+ log.info("已添加审核和作者类型字段到articles表");
|
|
|
+ } else {
|
|
|
+ log.info("articles表审核字段已存在,跳过");
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.warn("检查/添加articles表审核字段失败: {}", e.getMessage());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void initializeDefaultData() {
|