Сравнение схем 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 TABLECREATE VIEW и т.д. заявления в нем

0 ответов

Другие вопросы по тегам