我正在研究RedGate SQL工具箱,以支持完整的数据库CI,并对这些工具如何方便我对模式和静态数据的需求感到满意。
但是,在其他表中有一定数量的数据,我希望在我的CI中进行源代码管理和使用。这些表可能有一百万条记录,只有少数几条记录需要在源代码管理中。数据库设计意味着这些数据不能放在单独的表中,然后可以由源控制。
一个很好的例子可能是users表,您希望在其中对管理员或系统用户进行源代码管理,这样它就可以成为CI的一部分,但希望排除任何真正的用户。
自2011年年中以来,RedGate就有了一个请求过滤静态数据,我想知道是否有人设计了一种合理的方法来克服这个限制?
发布于 2017-03-14 08:10:06
我尝试过涉及迁移脚本的解决方案,但它们的执行顺序仍然存在问题。
我最终选择的解决方案是拥有一个单独的数据库,该数据库连接到源代码管理,所有包含系统数据或混合数据的表都要对其记录源进行控制。
然后,我在另一个数据库中进行开发,并将模式和数据更改推送到源控制数据库以提交它们。这样,源控制数据表就不会包含“用户”数据。
我发现DLM自动化Cmdlet缺乏特性,而是选择使用命令行运行SQL和SQL数据比较来执行CI。这不是没有偶尔的打嗝,但这些是解决了使用上述工具,并从SC手动推入我们的CI数据库。
发布于 2017-01-18 14:51:10
我能想到的就是:
UNION ALL这两个表也许这不是最漂亮的方法,但我认为它应该适用于您的用例。
https://stackoverflow.com/questions/41721311
复制相似问题