数据库的 SCM
对于数据驱动的方法(例如游戏),进入数据库的数据是项目(通用)源代码的一部分。版本控制数据库内容的最佳策略是什么?注意:不是架构。它需要具有 SCM 的所有属性,例如回滚和分支。
For a data-driven approach, e.g. for games, data that goes into a database is part of the (generalized) source code for the project. What is the best strategy for version controlling database contents? note: not schema. It needs to have all the properties of a SCM like rollback and branching.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
保存内容的简单文本文件非常适合版本控制。选择一种易于阅读和编写的格式,如果您没有 500 列或类似内容,则使用逗号分隔是最简单的。
但这留下了加载它的问题。如果您的情况很简单,您的升级/安装脚本可以截断源表并重新加载。如果由于外键而导致效果不佳,则必须编写一个小例程来逐行遍历文本文件并插入新值,并可能覆盖更改的值。
Simple text files to hold the contents work well for version control. Pick a format that is easy to read and write, comma-separated is easiest if you don't have like 500 columns or anything like that.
But this leaves the matter of loading it. If you have a simple situation, your upgrade/install script can truncate the source tables and reload. If that is no good because of foreign keys, you have to code a little routine that goes through the text files line-by-line and inserts new values and possibly overwrites changed values.