如何将元数据置于版本控制之下?
我们有一个数据库来保存我们的元数据和数据。
我们的元数据是由专门的团队使用开发服务器上的 Web 应用程序生成的,并且是我们应用程序的关键部分。
然后客户根据这个元数据生成数据。
我们已经对数据库模式进行了版本控制,并且所有模式都发生了变化。 下一步是将我们的元数据置于版本控制之下。
Naive solution一个简单的解决方案是转储所有元数据,并在生成相应的包之前将其提交到版本控制下。 由于它是转储,因此可以轻松恢复。 但可能有更好的方法,例如增量解决方案(仅版本差异)。
Text dumps另一种解决方案是以文本格式(如 XML)导出所有元数据表,然后对这些文本文件进行版本控制。 但随后您必须找到一种方法来重新导入它们。
那么,您的元数据是否受到版本控制? 为什么? 如何?
We have a database that persist our metadata and data.
Our metadata is produced buy a dedicated team, using a Web application on the development server, and is a critical part of our application.
Then the customer generates data according to this metadata.
We already version the database schema, and all schema change. The next step is to put our metadata under version control.
Naive solution
A naive solution would be to dump all the metadata, and commit it under version control before generating the corresponding packages. Since it's a dump, it can easily be restored. But there is probably a better way, like an incremental solution (only version diffs).
Text dumps
Another solution is to export all metadata tables in text format (like XML), and then version those text files. But then you have to find a way to reimport them.
So, is your metadata under version control? Why? How?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
非 Niave 解决方案:- 对
您的 mata 数据构建脚本进行版本控制。
IE 数据库模式删除/创建和 SQL“INSERTS”都应置于版本控制之下。
这种方法的优点是架构和插入脚本实际上是源代码。 版本控制系统是为源代码设计的,因此它们可以很好地使用这种方法。 此外,它几乎是独立的,可以轻松移植到其他系统。
如果您的元数据是交互开发的,那么有几个实用程序可以让您将数据库导出为插入脚本。
Non Niave solution:-
Version control your mata data build scripts.
I.E. the database schema drop/create and the SQL "INSERTS" should both be placed under version control.
The advantage of this approach is thet the Schema and Insert scripts really are source code. Version controls systems are designed for source code so they play well with this method. In addition its pretty much self contained and can be easily ported to other systems.
If your meta data is devleoped interactivley there are several utilities that will allow you to export your database as an insert script.
K. Scott Allen 有一系列关于此主题的优秀博客文章:
K. Scott Allen has a series of excellent blog posts about this subject:
需要考虑的是 Embarcadero 提供的工具。 例如,ErStudio 提供了针对整个数据库模型进行版本控制的功能。
Something to consider would be the tools available by Embarcadero. ErStudio for example provides the ability to version control against your entire database model.