给定集合人员中的以下示例MongoDB文档,该文档将经历不同的处理步骤:
{
'status': 'Step 2 is finished'
'name': 'Some Name'
'affiliation': 'Gang of Four'
}
旧的软件版本:文档是在流程步骤1中创建的,没有字段关联。缺少的字段稍后在流程步骤2中添加。
在步骤1之后:
{
'status': 'Step 1 is finished'
'name': 'Some Name'
}
在步骤2之后:
{
'status': 'Step 2 is finished'
'name': 'Some Name'
'affiliation': 'Gang of Four'
}
新软件发布:整个文档在步骤1中创建。步骤2依赖于字段关联的存在,如果不存在,则失败。
差距:旧版本和新版本之间文档模式的差异并不表示更改,因此不构建迁移。在部署新版本时,数据库中有由旧的处理步骤1生成的文档,因此缺少关联字段。步骤2在这些文档上失败。现有的自动化测试通过API调用动态地创建测试数据,因此不可能在“旧”数据上运行它们。
到目前为止
https://sqa.stackexchange.com/questions/48978
复制相似问题