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 dev
2023-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插入数据,并观察数据历史记录新增内容