我有一个可以将模式部署到数据库的SQL Server数据库项目,它创建了一个.dacpac
并将其应用到数据库。
我想使用在自动化测试类中生成的SQL文件,该类将为空数据库创建所有表和对象。
我无法使用生成的SQL文件,因为它包含无法识别的命令,如
:setvar DatabaseName "MyDB"
:setvar DefaultFilePrefix "MyDB"
如何从SQL Server数据库项目部署生成可执行的SQL脚本?
答案 0 :(得分:1)
感谢xLiSPirit和this SO post,我最终使用了DacServices
class和这段代码:
private void UpgradeDatabaseWithDacpac(string connectionString, string databaseName, string dacpacFileName)
{
DacPackage dacPackage = DacPackage.Load(dacpacFileName);
DacServices dacServices = new DacServices(connectionString);
dacServices.Deploy(dacPackage, databaseName, true);
}