从数据库导入Schema或数据集时,HCL OneTest Data是否生成可审计字段数据?
HCL OneTest Data对可审计字段的数据生成逻辑
作为经常和HCL OneTest Data打交道的开发者,我来梳理下它在导入Schema或Schema+样本数据集时,对INSERTED TIME、UPDATE TIME这类可审计字段的处理逻辑:
仅导入Schema的场景
这种情况下,OneTest Data只是帮你在测试环境中还原表结构,不会触发任何数据插入操作,所以自然不会为这些可审计字段生成数据。毕竟这类字段通常是由数据库触发器、DEFAULT约束或者应用层逻辑来自动填充的,OneTest Data不会越俎代庖去生成值,除非你手动给这些字段配置了特定的生成规则。导入Schema+样本数据集的场景
这里要分两种情况来看:- 如果你的样本数据集里已经包含了这些可审计字段的具体数值,OneTest Data会原样把这些值导入到对应的字段中,不会做额外修改。
- 如果样本数据集里没有这些字段的内容,默认情况下OneTest Data不会自动生成。但你可以通过自定义数据生成规则来搞定:比如给
INSERTED TIME设置生成当前时间戳,或者指定一个过去的时间范围;给UPDATE TIME设置成比INSERTED TIME稍晚的时间,模拟数据被更新的场景。
另外要注意:如果你的数据库本身已经通过DEFAULT约束、触发器等机制配置了这些字段的自动填充逻辑,那么即使OneTest Data没有生成对应数据,当数据插入到数据库时,数据库会自动补全这些值——这属于数据库自身的行为,和OneTest Data的操作是分开的。
内容的提问来源于stack exchange,提问作者askdev
相关产品推荐
相关产品推荐

