3

我们有一个数据库来保存我们的元数据和数据。

我们的元数据是由一个专门的团队使用开发服务器上的 Web 应用程序生成的,并且是我们应用程序的关键部分。

然后客户根据这个元数据生成数据。

我们已经对数据库模式进行了版本化,并且所有模式都发生了变化。下一步是将我们的元数据置于版本控制之下。

天真的解决方案

一个天真的解决方案是转储所有元数据,并在生成相应的包之前将其提交到版本控制下。由于它是一个转储,它可以很容易地恢复。但可能有更好的方法,比如增量解决方案(仅版本差异)。

文本转储

另一种解决方案是以文本格式(如 XML)导出所有元数据表,然后对这些文本文件进行版本控制。但是你必须找到一种方法来重新导入它们。

那么,您的元数据是否受版本控制?为什么?如何?

4

3 回答 3

1

非 Niave 解决方案:-

版本控制您的 mata 数据构建脚本。

IE 数据库模式 drop/create 和 SQL“INSERTS”都应置于版本控制之下。

这种方法的优点是 Schema 和 Insert 脚本确实是源代码。版本控制系统是为源代码设计的,因此它们可以很好地使用这种方法。此外,它几乎是独立的,可以轻松移植到其他系统。

如果您的元数据是交互式开发的,那么有几个实用程序可以让您将数据库导出为插入脚本。

于 2008-12-16T15:06:22.120 回答
1

K. Scott Allen 有一系列关于这个主题的优秀博客文章:

于 2008-12-16T21:25:58.297 回答
1

需要考虑的是 Embarcadero 提供的工具。 例如, ErStudio提供了对整个数据库模型进行版本控制的能力。

于 2008-12-17T23:10:19.863 回答