我们有一个要求,我们希望将Red Gate Source Control作为自动界面的一部分。
我们想以编程方式链接所需的数据库,并提交对数据库所做的更改。
这可能吗?如果是,我们应该使用哪个API?
最佳答案
我知道这个问题很旧,但是我正在做您正在描述的事情。
我有一份工作,每隔X分钟运行一次,并将数据库的当前状态放入版本控制中(对我们来说这很困难,但您可以使用git或其他方法实现完全相同的操作)。
cd c:\data\SourceCodeDirectory
hg pull
hg update
if not exist "c:\data\SourceCodeDirectory\databaseName" mkdir "c:\data\SourceCodeDirectory\databaseName"
cd "c:\Program Files (x86)\Red Gate\SQL Compare 11"
sqlcompare /s1:DBServer /db1:databaseName /scr2:"c:\data\SourceCodeDirectory\databaseName" /synchronize
cd c:\data\SourceCodeDirectory\databaseName
hg add
hg commit -m "Database Changes" -u DatabaseSchemaUser
hg push
该作业运行后,对数据库所做的任何更改都将在版本控制中。