Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

操作日志与日志恢复测试计划 #1185

Open
renyh opened this issue Mar 5, 2024 · 0 comments
Open

操作日志与日志恢复测试计划 #1185

renyh opened this issue Mar 5, 2024 · 0 comments

Comments

@renyh
Copy link
Collaborator

renyh commented Mar 5, 2024

操作日志与日志恢复测试计划

以下操作要观察操作日志是否完整,然后日志恢复是否正常。

数据库

书目数据库创建,修改,删除
读者库创建,修改,删除
其它数据库的创建(例如预约到书/违约金/消息/出版者),修改,删除

数据库刷新:书目库,读者库

书目

新增,修改,删除

新增,修改,删除

读者

新增,修改,删除

流通业务

借,还(验证还),续借,

丢失

交费,撤消交费。

读者操作

预约:新增,删除,合并,拆分

续借

书评(馆员也可以操作)
新增,修改,删除,带图片

修改系统参数

opac/database
opac/browseformats
circulation/locationTypes
circulation/callNumber
circuodeValidation
circulation/valueTables
circulation/rightsTable

开馆日历

订购

新增,修改,删除

新增,修改,删除

对象

新增,修改,删除

针对大对象,会产生多个writeres日志。


恢复日志的特殊情况处理

  1. 遇到创建一条记录,但所属的数据库还不存在,会自动自动数据库(及相关配置数据库)。

  2. 各数据的change动作,如果发现没有new的记录,会将change语义转为new,创建这条记录。

  3. 各数据的delete动作,如果系统中没有对应数据,会不做处理,不报错。(todo确认)

  4. 写对象的日志writeres,如果发现元数据中没有file元素,会自动创建file元素。

  5. 写对象的日志writeres时,如果发现元数据没有,则没法继续写对象。是否在wirteres日志中存储元数据信息,讨论后觉得没太大必要,越界了,同时会导致日志文件过多。
    6.在恢复一条创建下级记录的日志,如果发现这个记录的书目不存在,是否还有必须创建这条记录。讨论好,觉得还是有必要,系统是允许父亲不存在的,没有理由因为父亲不存在就不执行这条日志的恢复。两害相权取其轻。

@renyh renyh changed the title 操作日志与日志恢复测试要点 操作日志与日志恢复测试计划 Mar 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant