C# · 12月 25, 2021

比较C#中的两个SQL Server数据库模式

我正在发布我的 Windows应用程序的更新版本.新版本中存在数据库架构更改.我也不想丢失数据.

所以我采取的方法是在保留数据库的同时替换dll.为了升级数据库,我计划比较旧数据库的数据库模式并进行必要的更改.

那么如何比较旧数据库结构(模式)与新数据库结构(模式)以及如何检测更改并进行更正.到目前为止我尝试过的是尝试使用GetSchema方法获取数据库模式.

但由于新模式是预定义模式,我如何将新模式注入到程序中,并与安装旧模式的站点中的现有模式进行比较.

解决方法 我们使用RedGate的sql Compare,但它并不是特别便宜.

SQL Compare

这使我们可以比较两个数据库的结构,并创建一个sql脚本来更新其中一个数据库以匹配另一个数据库.