420 Commits

Author SHA1 Message Date
admin 52e980ba2e feat: 添加SQLite监控表自动初始化功能
1. 新增ensure_sqlite_monitor_tables函数检查并创建SQLite监控表
2. 在lifespan启动流程中加入SQLite表检查步骤
3. 重构监控表初始化脚本,支持本地执行模式
4. 优化模型差异检测,支持SQL脚本自动建表
2026-06-01 16:47:35 +08:00
DevBox 750e8853f1 feat: 多项优化和修复
1. 修复数据库完整性错误:staging_routers.py 添加 _retry_count 字段默认值 0

2. 时区配置规范化:.env 和 settings.py 使用 IANA 格式(Asia/Shanghai),保持向后兼容

3. Docker 部署优化:
   - Portainer 禁用 Edge 功能,释放 8000 端口
   - Uptime Kuma 和 Portainer 设为默认启动服务

4. 新增部署模板:创建 scripts/deploy_docker/mount 目录结构
2026-05-27 01:39:44 +00:00
chaoge 50d6af9a9a fix: 移除不正确的gitignore 2026-05-26 15:37:10 +08:00
chaoge 6d512f0a59 feat: 添加数据库迁移功能并新增worker字段
1. 新增数据库结构迁移的后端API与前端UI交互功能
2. 为机台模具关联模型新增worker人员字段
3. 优化建表脚本为可重入的增量更新模式
4. 移除旧的业务规则校验函数
2026-05-26 14:48:12 +08:00
chaoge f0a036d3c6 fix(monitor): 修复SQLite数据库查询适配问题
1. 替换占位符从$1风格为SQLite兼容的?格式
2. 使用动态生成的占位符数量适配模块筛选条件
3. 增加对SQLite查询结果格式的兼容处理
4. 新增SQLITE_FILE配置项用于获取数据库连接
2026-05-26 12:07:29 +08:00
chaoge fa5cecd6d1 fix(security,stability): 完成API安全与稳定性修复
- 安全: 修复鉴权失败返回码(HTTP 401/403替代200)
- 安全: 新增SafeQueryBuilder封堵SQL注入入口
- 安全: 移除Pydantic json_encoders弃用配置
- 稳定: 统一后台任务托管与生命周期管理
- 稳定: 新增TaskManager统一管理后台任务
- 文档: 更新README.md与.env.example
- 重构: routers.py使用安全SQL构建器替代字符串拼接
2026-05-25 20:08:35 +08:00
chaoge f7acae8dee fix(security,config): 移除默认高权限密码,统一数据库配置逻辑
- 删除core/settings.py中的默认高权限配置项
- 重构binlog监听工具的凭据获取逻辑,不再硬编码root账号与默认密码
- 重写项目README文档,更新配置说明与启动流程
- 新增API安全与稳定性修复计划文档,梳理后续优化方向
2026-05-25 14:24:44 +08:00
chaoge d6e4a6a089 优化语言补丁的命名空间,优化历史日志的查询性能 2026-05-24 21:29:34 +08:00
chaoge 2c613d5531 fix海达 2026-05-24 13:41:42 +08:00
chaoge 001e94f03f fix:转发清洗模式时使用原始数据 2026-05-23 16:10:10 +08:00
chaoge b347c6af57 feat: 日志历史查询页面重构优化
- 页面布局重构:header集成查询控件,分页移至tabs右侧
- 样式美化:全局等宽字体、Bootstrap图标、组件阴影动画
- 级别过滤改为≥逻辑,关键词支持多字段(路径/URL/请求体/响应体)
- 时间范围可选(支持查询全部数据)
- 统计数据改为后端计算(总数+级别分布)
- 高级筛选分解到各页签,边界隔离修复
- 表头冻结、列表自适应高度
- 新增日志查询索引迁移脚本
2026-05-23 15:39:53 +08:00
chaoge 1fd62929af fix超越 2026-05-22 22:04:31 +08:00
chaoge 7108454c59 缓冲表drop逻辑 2026-05-22 22:03:55 +08:00
chaoge dc8e347e0d 优化removing逻辑 2026-05-22 18:37:43 +08:00
chaoge 7b11d33357 feat(mds): 禁止编辑removing状态数据
单条编辑:
- 后端检查状态,removing状态返回禁止错误
- 前端显示警告提示+所有字段只读+隐藏保存按钮

批量编辑:
- 后端查询并分离removing状态的记录
- 只更新非removing状态的记录
- 返回跳过数量和跳过的ID列表
- 前端显示跳过提示

修改文件:
- apps/data_opt/mds/staging_routers.py
- static/mds/js/mds-page-controller.js
2026-05-22 14:39:08 +08:00
chaoge d39287b7ee feat(mds): 实现removing状态数据在推送时删除正式表对应记录
核心逻辑:
- removing状态数据能且仅能在推送时删除,禁止自动清理
- 增量推送:根据business_keys删除正式表+缓冲表记录
- 刷新推送:正式表已TRUNCATE,只删除缓冲表记录

修改内容:
1. staging_cleaner.py
   - sync_to_production新增处理removing状态数据逻辑
   - 根据推送模式区分删除策略
   - 增量模式:按business_keys构建WHERE条件删除正式表记录
   - 刷新模式:直接删除缓冲表记录(正式表已TRUNCATE)

2. staging_routers.py
   - 同步路由返回统计新增removed字段
   - 更新返回消息显示删除数量

数据一致性保证:
- 缓冲表removing记录 → 推送时 → 正式表对应记录一并删除
- 确保缓冲表和正式表数据状态一致
2026-05-22 14:23:27 +08:00
chaoge ad03e904d0 fix(mds): 修复数据去重bug并添加手动删除权限控制
数据去重Bug修复:
- 修复复合主键查询错误(只使用第一个主键字段)
- 修复existing_map只保留最后一条记录的问题
- 修复内部重复数据未检查数据库已存在记录的问题
- 删除staging_routers.py中重复调用apply_dedup_strategy的代码

手动删除权限控制:
- 新增ManualRemoveMode枚举(never/now/next)
- 根据MDS_MANUAL_REMOVE环境变量控制删除行为
- never: 禁止手动删除,隐藏删除按钮
- now: 立即删除
- next: 标记为removing状态,下次推送时删除
- 清理历史数据接口也受权限控制
- 前端通过模板注入获取配置,无需API请求

修改文件:
- apps/data_opt/mds/utils/duplicate_checker.py
- apps/data_opt/mds/staging_routers.py
- apps/data_opt/mds/_base.py
- core/routes_register.py
- static/mds/js/data-table.js
- static/mds/js/mds-page-controller.js
- static/mds/pages/template.html
2026-05-22 13:58:05 +08:00
chaoge 78269d8d74 新增: binlog监听器高可用增强模块
实现功能:
- Prometheus指标暴露(/metrics端点)
- 背压控制(主动限流机制)
- 事件去重(Redis+文件降级)
- 配置热更新(审计日志)
- 主备故障转移(心跳检测)
- 分布式锁安全降级
- 连接池监控(泄漏检测)
- 重试策略优化(指数退避)

新增接口:
- GET /metrics, /health, /binlog/status
- GET /binlog/backpressure/status
- POST /binlog/config/update, GET /binlog/config/audit
- GET /binlog/dedup/stats
- GET /binlog/failover/status

测试覆盖:
- 单元测试71个,全部通过
- 压测验证:吞吐量499事件/秒,达标率99.91%
2026-05-22 07:08:49 +08:00
chaoge bf42299ead 重构: 迁移至统一日志系统
- 新增 globalobjects/logger/ 模块化日志系统
- 支持异步写入、多目标输出、敏感信息脱敏
- 完全向后兼容原有logger API
- 备份旧版本为 logger_v1_backup.py 和 logger_v2_backup.py
- 更新 .env.example 和 AGENTS.md 文档
2026-05-22 00:23:30 +08:00
chaoge f785f23389 合并db_init_manager 2026-05-21 21:47:19 +08:00
chaoge 784a3f68cf 优化数据库连接初始化机制 2026-05-21 19:59:43 +08:00
chaoge 21f7f04c04 创建AGENTS文件,通过账套名称切换模式 2026-05-21 15:47:33 +08:00
chaoge 005524b3b3 优化缓冲表首页 2026-05-21 12:54:17 +08:00
chaoge 101945461f 工艺路线校验优化 2026-05-21 09:38:01 +08:00
chaoge 7c99989089 优化缓冲表界面效果 2026-05-21 08:26:43 +08:00
chaoge 5dcf6859d8 优化数据库连接 2026-05-20 22:26:08 +08:00
chaoge e6ac98463b 缓冲表实现bomchecker 2026-05-20 19:37:26 +08:00
chaoge 8d0970d58e bom缓冲表增加单位字段 2026-05-20 10:15:24 +08:00
chaoge 41b7211f8a 优化自制件的校验 2026-05-19 22:47:13 +08:00
chaoge 21136eaad6 提取前端配置 2026-05-19 20:19:43 +08:00
chaoge e5f4d052b5 优化外键在前端页面的展示 2026-05-19 15:21:37 +08:00
chaoge 99daeb3af6 完善内容对比去重 2026-05-18 22:06:23 +08:00
chaoge a33f9557a3 优化缓冲表操作体验 2026-05-18 16:09:07 +08:00
chaoge b18840105a 优化缓冲表样式和操作逻辑 2026-05-18 12:56:43 +08:00
chaoge d8e8814d25 修复时区BUG 2026-05-18 08:55:25 +08:00
chaoge ad7cf97551 20260517 2026-05-18 05:39:20 +08:00
chaoge d54bb1d587 hotfix 2026-05-16 23:33:22 +08:00
chaoge f64e247f37 优化去重和推送逻辑 2026-05-16 22:21:04 +08:00
chaoge 98ae6e47cd 基本实现了基于配置的数据缓冲机制 2026-05-16 19:09:55 +08:00
chaoge bd25461adc 继续优化架构,优化导入导出及数据列表组件 2026-05-16 14:37:00 +08:00
chaoge d9a9bfc4c7 优化缓冲表配置 2026-05-15 23:18:10 +08:00
chaoge 6e4d97dc0e mds页面整合 2026-05-15 20:55:23 +08:00
chaoge 0254ddc55d 优化缓冲机制,增设校验规则查看 2026-05-15 11:15:35 +08:00
chaoge 0068f411fb 优化数据缓冲0514-01 2026-05-14 20:00:23 +08:00
chaoge 2c49a099f8 精简缓冲表后端代码结构 2026-05-14 11:21:12 +08:00
chaoge f8652e2be4 优化PR聚合分批推送逻辑 2026-05-14 08:18:08 +08:00
chaoge d05437c1b1 修正超跃客户端 2026-05-13 20:39:50 +08:00
chaoge 5524762604 继续优化物料缓冲表 2026-05-13 17:16:49 +08:00
chaoge 53f1cadc9f 优化物料缓冲表 2026-05-13 00:23:41 +08:00
chaoge 4229b64c6f 初步搭建缓冲表功能 2026-05-11 20:46:44 +08:00