database - 您如何将元数据置于版本控制之下?

标签 database version-control metadata

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

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

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

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

天真的解决方案

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

文本转储

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

那么,您的元数据是否在版本控制之下?为什么?怎么办?

最佳答案

非 Niave 解决方案:-

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

即数据库模式删除/创建和 SQL“INSERTS”都应置于版本控制之下。

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

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

关于database - 您如何将元数据置于版本控制之下?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/371513/

相关文章:

svn - SVN:如何仅更新在修订版中修改的文件

xcode - Xcode4中这个Git是什么?

web-services - 无法识别意外以 '/$metadata' 结尾的 URL 的请求格式

python - PyPNG: 'plane' 是什么意思?

database - Windows Phone 7 Mango - 本地数据库 - SQL CE 4.0

mysql - 返回零行,尽管 SQL 查询

database - 在 sas 中查找包含字母数字值的字符串

database - 提高 PostgreSQL 中的 OFFSET 性能

svn - 编辑先前提交的 SVN 消息

java - Java 代码中顶级列表中的 AndroidManifest 元数据