数据库中 data/application "version" table 的目的(或用处)是什么?
What is the purpose (or usefulness) of a data/application "version" table in the database?
这是一道设计题。
在数据库中存储新鲜日期的 "Version" table 和连接到的数据库 and/or 应用程序的版本的目的或用处是什么它。
例如下面的DDL...
CREATE TABLE
[dbo].[Version]
(
FreshnessDate DATETIME,
DatabaseVersion VARCHAR(10),
ApplicationVersion VARCHAR(10)
)
...创建一个 table 来存储一些基本的版本控制信息。在我的团队中,争论是我们不需要这个,因为每个人都从网络上的同一个共享数据库开发(甚至数据库开发)(我们不允许在我们的开发盒上拥有单独的数据库 - 甚至是空数据库) .
反对使用这种类型的版本控制的另一个论点 table 是它对我们的过程没有好处:我们在开发数据库上进行开发,然后使用该数据库生成一个巨大的脚本,从中确定差异并生成更新脚本(手动完成迁移)。此更新脚本随后在 QA 共享数据库上 运行,在通过 QA 后,同一脚本随后在生产数据库上 运行。每季度一次,将生产数据库拉取到 QA 和开发数据库服务器以同步数据以帮助调试。
请注意,我们的部门 运行 由指定流程要求的 CFO 负责。这个问题具体是关于其他人是否看到 Version
table 的优势,或者是否真的没有必要。由于我们团队中有人建议因为我们的流程是不必要的,所以我在这个post.
中添加了我们的流程
我个人对此持反对意见,但希望就添加这样的 table 是否属于过度工程问题征求意见和反馈。
谢谢!
在我们这边,我们得到了这样的 table 并且我们有基于它的自动迁移 table - 模式更新,模式迁移。我们得到了额外的字段参考文件。因此,在我们的工作流程中,没有这样的 table 是不可能存在的。 Table数据也会自动维护。
在您的情况下,这种 table 的优点是您可以获取历史存储的应用程序版本和数据库版本,因此理论上可以在调试问题时获得一些额外信息。
我宁愿根据您的工作流程删除它。
- cons 在部署期间自动维护 table
- 在数据库服务器上添加新的 table
- pros 哪个应用程序版本哪个数据库版本正在使用的历史记录
这是一道设计题。
在数据库中存储新鲜日期的 "Version" table 和连接到的数据库 and/or 应用程序的版本的目的或用处是什么它。
例如下面的DDL...
CREATE TABLE
[dbo].[Version]
(
FreshnessDate DATETIME,
DatabaseVersion VARCHAR(10),
ApplicationVersion VARCHAR(10)
)
...创建一个 table 来存储一些基本的版本控制信息。在我的团队中,争论是我们不需要这个,因为每个人都从网络上的同一个共享数据库开发(甚至数据库开发)(我们不允许在我们的开发盒上拥有单独的数据库 - 甚至是空数据库) .
反对使用这种类型的版本控制的另一个论点 table 是它对我们的过程没有好处:我们在开发数据库上进行开发,然后使用该数据库生成一个巨大的脚本,从中确定差异并生成更新脚本(手动完成迁移)。此更新脚本随后在 QA 共享数据库上 运行,在通过 QA 后,同一脚本随后在生产数据库上 运行。每季度一次,将生产数据库拉取到 QA 和开发数据库服务器以同步数据以帮助调试。
请注意,我们的部门 运行 由指定流程要求的 CFO 负责。这个问题具体是关于其他人是否看到 Version
table 的优势,或者是否真的没有必要。由于我们团队中有人建议因为我们的流程是不必要的,所以我在这个post.
我个人对此持反对意见,但希望就添加这样的 table 是否属于过度工程问题征求意见和反馈。
谢谢!
在我们这边,我们得到了这样的 table 并且我们有基于它的自动迁移 table - 模式更新,模式迁移。我们得到了额外的字段参考文件。因此,在我们的工作流程中,没有这样的 table 是不可能存在的。 Table数据也会自动维护。
在您的情况下,这种 table 的优点是您可以获取历史存储的应用程序版本和数据库版本,因此理论上可以在调试问题时获得一些额外信息。
我宁愿根据您的工作流程删除它。
- cons 在部署期间自动维护 table
- 在数据库服务器上添加新的 table
- pros 哪个应用程序版本哪个数据库版本正在使用的历史记录