Сравнение схем Visual Studio - ошибка при запуске SqlPackage для ProjectBasedModelProvider
Я пытаюсь автоматизировать запуск инструмента сравнения схем в Visual Studio 2017 через интерфейс командной строки. Прямо сейчас мы должны вручную выбрать источник и цель, чтобы обновить наш проект кода, чтобы он соответствовал нашей базе данных. Мы хотим запускать это регулярно.
Когда я запускаю это вручную через Visual Studio, я выбираю схему источника в качестве базы данных: SourceSchema
Я выбираю целевую схему в качестве проекта: TargetSchema
Похоже, что использование команды SqlPackage.exe - лучший способ сделать это. Тем не менее, когда я бегу SqlPackage.exe /Action:Publish /SourceFile:Compare.scmp
Я получаю ответ, говорящий SchemaComparison only supports database and dacpac endpoint types.
, Я получаю похожую ошибку, используя Microsoft.SqlServer.Dac.Compare
библиотека через код.
мой scmp
Файл выглядит следующим образом:
<SchemaComparison>
<Version>10</Version>
<SourceModelProvider>
<ConnectionBasedModelProvider>
<ConnectionString>Data Source=mydatabaseserver;Initial Catalog=mydatabasename;Integrated Security=True;Persist Security Info=False;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=True</ConnectionString>
</ConnectionBasedModelProvider>
</SourceModelProvider>
<TargetModelProvider>
<ProjectBasedModelProvider>
<ProjectGuid>{ede7f560-d1e4-42b0-badb-efbeb45524a3}</ProjectGuid>
<Name>MyDatabaseName</Name>
</ProjectBasedModelProvider>
</TargetModelProvider>
Кто-нибудь знает способ автоматизации выполнения этого сравнения с помощью sqlproj
проект ProjectBasedModelProvider? это sqlproj
Проект включает в себя множество sql
файлы с CREATE TABLE
CREATE VIEW
и т.д. заявления в нем