跟踪进度数据库中的结构变化
Posted
技术标签:
【中文标题】跟踪进度数据库中的结构变化【英文标题】:Track of structure changes in a Progress database 【发布时间】:2022-01-18 00:17:55 【问题描述】:我被要求自动跟踪数据库结构的变化:对表、字段、索引等的任何修改、添加或删除。
我搜索了审计,但只发现它可以跟踪“数据库架构”中的变化,这是别的东西。
你知道是否可以这样做吗?
我们使用 11.6.3。
【问题讨论】:
您列出的项目:“表、字段、索引的修改、添加或删除”都是“数据库模式”。这与您所说的需要跟踪的内容有什么不同或不同? 谢谢你,汤姆。我想我误解了,但我认为“数据库架构”是 .st 文件内容。 .st 文件是“结构”文件。这与架构无关。结构可以独立于模式进行更改。 Schema 是数据库的表、字段和索引。有时也称为字典或目录。 几天前我发现了其他文档,该文档将结构称为“架构”。这让我很困惑。再次感谢。 【参考方案1】:有人想知道架构中的这些神奇更改(我认为您已澄清实际上是您想要自动化的架构更改)是如何发生的。或者,也可以由进行更改的人员来跟踪它们。通常(希望)使用“delta df-files”更新数据库。如果保留这些 df 文件,则它们是数据库的更改日志。
另一种选择是每天/每小时/每周转储数据定义:
CREATE ALIAS DICTDB FOR DATABASE sports.
DISPLAY LDBNAME("DICTDB").
RUN prodict/dump_df.p ("ALL",
"c:/temp/sports.df",
"").
DELETE ALIAS DICTDB. /* Optional */
取自知识库中的此条目:https://community.progress.com/s/article/15884
然后您可以使用您喜欢的工具来比较该 df 文件或保持原样。
如果您实际上是指结构(更多的是数据如何存储在磁盘上的不同文件中),您可以使用 prostrct 命令将新的 st 文件保存到磁盘:
prostrct list sports
这将保存一个名为 sports.st 的文件。如上所述处理它,您将获得数据库结构的更改日志。
【讨论】:
谢谢你,詹斯德。是的,我们使用 .df 更新数据库结构并跟踪更改。但我们有一种新老板,他们希望它自动化。 我现在有三种方法可以做到这一点:使用审计表、您的产品解决方案和使用 VST 表。我都喜欢。 选择适合您特定需求的! 审计表将是。以上是关于跟踪进度数据库中的结构变化的主要内容,如果未能解决你的问题,请参考以下文章
在更新时跟踪 NSManagedObject 属性并立即更新视图