首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Codefluent tablediff.sql膨胀

Codefluent tablediff.sql膨胀
EN

Stack Overflow用户
提问于 2016-12-07 07:30:26
回答 1查看 34关注 0票数 0

我现在使用CodeFluent已经有一段时间了,我对它非常非常满意。但是,生成的tablediff似乎每次都包含不必要的更改。有人知道这些更改是否可以关闭吗?

  1. 所有nvarchar列每次都被设置为nvarchar,即使它们已经是nvarchar
  2. 所有的默认设置似乎每次都会设置,即使它们已经存在。在我们的差异中,几乎有100 _trackLastWriteTime和_trackCreationTime。
  3. 将删除并添加约束。

为什么这是个问题?

  1. 由于tablediff太大,很难看到和验证“真实的”更改。
  2. 执行tablediff需要花费更长的时间,特别是在大型数据库上。
  3. 删除约束会逆转我们对主键和索引所做的更改,有时甚至导致只创建堆。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-07 10:03:49

生成的差异脚本的目标是在开发阶段构建模型之后获得正确的数据库模式(开发阶段)。只要最终的数据库模式正常,它就可以包含无用的语句。

要在生产环境中升级数据库,应该使用SQL Server数据透视脚本生成器。数据透视脚本生成器生成一个XML文件(或zip文件),该文件包含数据库的表、存储过程、函数等列表。数据透视运行程序读取此文件,并创建或升级数据库,使其符合XML文件中的状态描述。由于它直接生成和执行SQL语句(而不生成脚本文件),因此PivotRunner所做的操作少于差异脚本。

如果需要,您可以完全控制枢轴运行器所做的事情:https://stackoverflow.com/a/36426389/2996339

此架构显示了开发和部署工作流程:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41011686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档