Skip to content

Commit 121264e

Browse files
committed
feat:支持热重载
1 parent 0bebec7 commit 121264e

8 files changed

Lines changed: 3668 additions & 2436 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
# 变更日志 (CHANGELOG)
22

33
> **说明**: 版本概览摘要,详细变更见 [changelogs/](./changelogs/) 目录
4-
> **最后更新**: 2026-02-11
4+
> **最后更新**: 2026-03-16
55
66
---
77

88
## 版本概览
99

1010
| 版本 | 日期 | 变更摘要 | 详细 |
1111
|------|------|---------|------|
12+
| [v1.1.7](./changelogs/v1.1.7.md) | 2026-03-16 | 🆕 **新功能**:Model 热重载支持(`undefine()` + `redefine()` + `_loadModels` reload 模式)+ 22个测试 (100%通过) | [查看](./changelogs/v1.1.7.md) |
1213
| [v1.1.6](./changelogs/v1.1.6.md) | 2026-02-11 | 🎉 **重大功能**:精准缓存失效机制 + 🚨 upsert 缓存失效 Bug 修复 + 36个测试 (100%通过) | [查看](./changelogs/v1.1.6.md) |
1314
| [v1.1.4](./changelogs/v1.1.4.md) | 2026-02-09 | 🎉 重大功能:通用函数缓存 - 52个测试 (100%通过) + 多层缓存 delPattern 修复 | [查看](./changelogs/v1.1.4.md) |
1415
| [v1.1.3](./changelogs/v1.1.3.md) | 2026-02-03 | 📚 文档完善:多连接池文档优化 + 健康检查详解 + 验证体系规范 | [查看](./changelogs/v1.1.3.md) |

README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1242,6 +1242,30 @@ const user = await User.findOne({ username: 'john' })
12421242
npm install schema-dsl
12431243
```
12441244

1245+
#### 热重载支持(v1.1.7+)🆕
1246+
1247+
在开发模式下,无需重启进程即可更新 Model 定义。
1248+
1249+
```javascript
1250+
const { Model } = require('monsqlize');
1251+
1252+
// 注销 Model 定义(返回 boolean)
1253+
Model.undefine('users'); // true — 成功注销
1254+
Model.undefine('nonexistent'); // false — 不存在时不抛错
1255+
1256+
// 替换 Model 定义(undefine + define 的组合)
1257+
Model.redefine('users', {
1258+
schema: (dsl) => dsl({ username: 'string!', email: 'email!' })
1259+
});
1260+
1261+
// 批量热重载(重新加载所有 model 文件)
1262+
await msq._loadModels({ reload: true });
1263+
```
1264+
1265+
**注意事项**
1266+
- `redefine()` 若新定义校验失败,旧定义**已被移除**(不会回滚),调用方需 try/catch
1267+
- 已实例化的 `ModelInstance` 不受影响,热重载后应通过 `db.model()` 重新获取实例
1268+
12451269
[📖 Model 层详细文档](./docs/model.md)
12461270

12471271
---

0 commit comments

Comments
 (0)