jianghuKnex 数据历史
学习目标
- 数据历史是什么:数据库历史是指数据库中数据随时间变化的记录,包括数据的创建、更新和删除。数据库历史记录是一种重要的功能,可以帮助用户追踪数据的变化,了解数据的演变过程,以及恢复因误操作或意外事件导致的数据丢失。
- 如何在常规的数据操作中开启数据历史
- 管理历史数据模板page
1. 使用 jianghuKnex开启数据历史
在江湖项目中,可以使用 jianghuKnex.jhInsert、jianghuKnex.jhUpdate 和 jianghuKnex.jhDelete 操作数据。下面是示例代码:
// 选择全部数据记录await this.app.jianghuKnex('${表的名字}').select();// 增加一条数据记录await this.app.jianghuKnex('${表的名字}').jhInsert({id: 1, data: 'abc'});// 更新id为1的数据记录await this.app.jianghuKnex('${表的名字}').where({id: 1}).jhUpdate({data: '123'});// 删除id为1的数据记录await this.app.jianghuKnex('${表的名字}').where({id: 1}).jhDelete({id: 1});
这些操作将会把数据的变更记录到 _record_history 表中。
注:只使用基础的 insert、update、delete 时,将不会生成数据记录
2. 管理数据历史
使用 jianghu-init page --type=record-history-page 命令创建一个用于管理数据历史记录的页面。
执行该命令后,将自动生成一个名为 recordHistoryManagement 的页面,访问该页面即可查看到上述 jhInsert、jhUpdate 和 jhDelete 操作在 _record_history 表中的记录。
$ cd my-basic$ jianghu-init page --type=record-history-page✔ 初始化数据库连接成功ℹ 开始生成 CRUD? Please input pageId recordHistoryℹ 开始生成 recordHistory 的 CRUD✔ 生成 recordHistory 的 vue 文件完成ℹ 正在执行 -- 创建 pageℹ 正在执行 -- 创建 resource✔ 生成 recordHistory 的 sql 文件完成✔ 生成 recordHistory 的 service 文件完成✔ init crud is success✔ jianghu init page is success$ npm run dev2023-04-10 20:40:30,583 INFO 79594 [master] agent_worker#1:79596 started (706ms)2023-04-10 20:40:31,419 INFO 79594 [master] @jianghujs/jianghu started on http://127.0.0.1:7001 (1543ms)
打开浏览器访问 http://127.0.0.1:7001
小结
本文介绍了数据库历史记录的概念以及在江湖项目中如何使用 jianghuKnex 记录数据的变更。同时,我们还介绍了如何使用 jianghu-init 命令创建一个用于管理数据历史记录的页面。
作业
- 使用jianghu-init project创建一个basic项目
- 使用jianghu-init page创建一个用于管理数据历史记录的页面
- 创建一个service,使用jianghuKnex插入数据,并观察数据历史记录新增内容