请在每次开启新对话或进行功能开发时,首先读取并遵循本文件中的规则。
本项目严格采用 版本化迁移 (Schema & Data Migration) 管理数据库结构及关键初始化数据,严禁依赖 ORM 的自动同步 (AutoMigrate) 或手动修改数据库。
当你的开发任务涉及数据库修改(如:新增表、字段、索引)或关键初始化数据变更(如:预置角色、管理员账号)时,必须按以下步骤操作:
backend/db/migrations/ 目录下现有的最大序号文件 (e.g., 000001_init.up.sql)。backend/db/migrations/{6位数字序号}_{简短描述}.up.sql000001,且需要添加设备维护时间,则新建 000002_add_maintenance_time.up.sql。backend/models 下对应的 struct 定义,确保 gorm 标签与数据库结构一致。AutoMigrate 会自动处理字段变更(生产环境不使用 AutoMigrate)。保持当前的运维目录结构,所有新增配置或脚本应放入对应目录:
backend/ : Golang 后端代码frontend/ : Vue 前端代码configs/ : 配置文件挂载源 (Nginx, EMQX 等)data/ : (忽略) 本地数据持久化目录,不要提交到 gitscripts/ : 运维脚本 (备份, 恢复等)docker-compose.yaml : 服务编排.env 和 docker-compose.yaml。go mod tidy。docker-compose up -d --build (会自动执行新的 SQL 迁移)。