c# - 以编程方式在 SQL Server 上查找和应用架构差异

标签 c# sql schema diff smo

我目前正在创作的产品依赖于后端的 SQL Server。我试图解决的一个问题是改进“升级”故事。所以 v1 将有一个特定的模式,而 v2 可能包括对该模式的一些增强(新表和新列)。

我知道 RedGate 和 ApexSQL 的 SDK - 但我想避免。

我已经通读了 SMO 文档,但我是新手,正在努力看看它是否可以应用于这种情况。理想情况下,我希望这可以使程序化(SMO 或其他)- 基本情况似乎足够直截了当,但如果可以的话,我真的不想重新发明轮子。有没有人对我如何处理有类似的要求或想法?

最佳答案

您没有说您使用的是什么版本的 SQL Server,但在(我认为)2005 年及以后,有数据库触发器的概念。它们的工作方式类似于表级表亲,但可用于跟踪数据库上发生的任何类型的 DDL 更改。我们并没有用它来实际生成 DDL——更多的是用来跟踪表格格式何时发生变化。尽管我认为您所追求的应该是可能的。

触发器是使开发人员产生分歧的因素之一。有些人认为它们是自切片面包以来最好的东西,而另一些人则非常讨厌它们。也许是因为当数据发生变化时,这些是您最后想到的。

关于c# - 以编程方式在 SQL Server 上查找和应用架构差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16539406/

相关文章:

mysql - 慢速SQL查询的特征

schema - Datomic 插入 block

java - 针对字符串类型的 XSD nillable false 的 XML 验证

c# - 使用 ffmpeg 组合来自多个源的视频和音频

c# - unique LINQ to filter list by variables(不区分大小写)

javascript - 如何访问 js/jquery 中的用户控件值

测量采集系统的 MongoDB 模式设计

c# - 如何在 VS 2010 中使用 webpart 加入共享点列表?

SQL 2005 标准数据类型

php - 如何优化SQL查询并向现有数组添加更多数组元素?