gpt4 book ai didi

sql - 用于存储自动化测试结果的 PostgreSQL 表

转载 作者:行者123 更新时间:2023-11-29 14:02:32 25 4
gpt4 key购买 nike

我正在构建一个在多台机器上运行的自动化测试套件,所有机器都将它们的状态报告给 postgresql 数据库。我们将运行一些自动化测试,并为其存储以下信息:

  • 测试 ID(一个 GUID)
  • 测试名称
  • 测试说明
  • 状态(运行、完成、等待运行)
  • 进度(%)
  • 考试开始时间
  • 考试结束时间
  • 测试结果
  • 运行测试的最新截图(每 30 秒更新一次)

测试的数量并不多(比如几千台),每台机器(比如 50 台)都有一项服务可以检查数据库并确定是否该在该机器上开始新的自动化测试。

我应该如何组织我的 SQL 表来存储所有信息?每个属性一列的单个表是否可行?

如果将来我需要添加属性但又想保持与旧数据库格式的兼容性(即我可能不想删除并创建一个包含更多列的新表),我应该如何进行?新属性应该放在不同的表中吗?

我也在考虑复制数据库。万一失败,我不介意从数据库上没有备份最新的截图。我是否应该将屏幕截图存储在其自己的表中以简化复制?

最佳答案

一张 table 就可以了。

如果您有一组冗余数据(例如,测试状态等),您可能希望将它们分解成它们自己的小表(因此您存储 1 或 2 而不是“通过”“失败” ",并且可以加入状态表)。

如果你添加列,没什么大不了的。为确保向后兼容性,请确保您始终使用列名进行限定:

select cola, colb, colc from table...

insert into table(cola, colb, colc) values ('x', 'y', 'z')

当然,请确保在新列中允许空值。

几千行对 postgres 来说不算什么。

关于sql - 用于存储自动化测试结果的 PostgreSQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2521438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com