| | |
| | | extra: "TEXT", |
| | | extra2: "TEXT", |
| | | message: "TEXT", |
| | | reported: "INTEGER DEFAULT 0", |
| | | }, |
| | | d1_permission: { |
| | | permissionId: "VARCHAR(128) PRIMARY KEY", |
| | | userId: "VARCHAR(128)", |
| | | door: "VARCHAR(128)", |
| | | extra: "TEXT", |
| | | timeType: "INTEGER", |
| | |
| | | name: "VARCHAR(128)", |
| | | extra: "TEXT", |
| | | permissionIds: "TEXT", |
| | | }, |
| | | d1_emergency_password: { |
| | | id: "VARCHAR(128) PRIMARY KEY", |
| | | password: "VARCHAR(128)", |
| | | description: "TEXT", |
| | | createTime: "INTEGER", |
| | | updateTime: "INTEGER", |
| | | status: "INTEGER", |
| | | } |
| | | } |
| | | |
| | |
| | | sqliteService.d1_security = new Proxy({ tableName: "d1_security" }, handler); |
| | | sqliteService.d1_voucher = new Proxy({ tableName: "d1_voucher" }, handler); |
| | | sqliteService.d1_person = new Proxy({ tableName: "d1_person" }, handler); |
| | | sqliteService.d1_emergency_password = new Proxy({ tableName: "d1_emergency_password" }, handler); |
| | | |
| | | // 按姓名模糊查询人员 |
| | | sqliteService.findPersonsByNameLike = function (name) { |
| | |
| | | return sqliteService.select(query) |
| | | } |
| | | |
| | | // 查询所有未上报的通行记录(按时间升序) |
| | | sqliteService.d1_pass_record.findAllByReportedOrderByTimeStampAsc = function () { |
| | | const sql = `SELECT * FROM d1_pass_record WHERE reported = 0 OR reported IS NULL ORDER BY timeStamp ASC;` |
| | | return sqliteService.select(sql) |
| | | } |
| | | |
| | | // 开始事务,事务不提交数据库重启后,数据会还原,所以transaction后一定要commit,但是如果在一个事务尚未提交或回滚的情况下执行另一个 BEGIN TRANSACTION,SQLite 会自动将新的事务嵌套在之前的事务内部,而不是覆盖之前的事务。 |
| | | sqliteService.transaction = function () { |