Udostępnij za pośrednictwem


Kompilowanie projektu bazy danych z poziomu wiersza polecenia

Rozszerzenie projektu usługi SQL Database udostępnia graficzny interfejs użytkownika do kompilowania projektu bazy danych, ale środowisko kompilacji wiersza polecenia jest również dostępne w środowiskach systemu Windows, macOS i Linux. Kroki tworzenia projektu z wiersza polecenia różnią się między projektami SQL w stylu zestawu SDK i poprzednim formatem projektu SQL w stylu innym niż ZESTAW SDK. W tym artykule opisano wymagania wstępne i składnię wymaganą do utworzenia pakietu dacpac z projektu SQL w wierszu polecenia dla obu typów projektów SQL.

Projekty SQL w stylu zestawu SDK (wersja zapoznawcza)

Używanie biblioteki Microsoft.Build.Sql z projektami SQL w stylu zestawu SDK jest preferowaną metodą pracy z projektami SQL z wiersza polecenia.

Aby utworzyć projekt SQL w stylu zestawu SDK z poziomu wiersza polecenia w systemie Windows, macOS lub Linux, użyj następującego polecenia:

dotnet build /p:NetCoreBuild=true

Uwaga

Projekty SQL w stylu zestawu SDK są obecnie dostępne w wersji zapoznawczej.

Projekty SQL w stylu innych niż ZESTAW SDK

W poniższej sekcji opisano pracę dotyczącą pracy z projektami SQL w stylu innych niż SDK z wiersza polecenia w systemach Windows, macOS i Linux.

Wymagania wstępne

  1. Instalowanie i konfigurowanie rozszerzenia projektów usługi SQL Database.

  2. Następujące biblioteki DLL platformy .NET Core i plik Microsoft.Data.Tools.Schema.SqlTasks.targets docelowy są wymagane do utworzenia projektu bazy danych SQL z wiersza polecenia ze wszystkich platform obsługiwanych przez rozszerzenie Azure Data Studio dla projektów usługi SQL Database. Te pliki są tworzone przez rozszerzenie podczas pierwszej kompilacji ukończonej w interfejsie narzędzia Azure Data Studio i umieszczane w folderze rozszerzenia w obszarze BuildDirectory. Na przykład w systemie Linux te pliki są umieszczane w pliku ~\.azuredatastudio\extensions\microsoft.sql-database-projects-x.x.x\BuildDirectory\. Skopiuj te 11 plików do nowego i dostępnego folderu lub zanotuj ich lokalizację. Ta lokalizacja jest określana w DotNet Core build folder tym dokumencie.

    • Microsoft.Data.SqlClient.dll
    • Microsoft.Data.Tools.Schema.Sql.dll
    • Microsoft.Data.Tools.Schema.SqlTasks.targets
    • Microsoft.Data.Tools.Schema.Tasks.Sql.dll
    • Microsoft.Data.Tools.Utilities.dll
    • Microsoft.SqlServer.Dac.dll
    • Microsoft.SqlServer.Dac.Extensions.dll
    • Microsoft.SqlServer.TransactSql.ScriptDom.dll
    • Microsoft.SqlServer.Types.dll
    • System.ComponentModel.Composition.dll
    • System.IO.Packaging.dll
  3. Jeśli projekt został utworzony w narzędziu Azure Data Studio — przejdź do sekcji Kompilowanie projektu z wiersza polecenia. Jeśli projekt został utworzony w narzędziach SQL Server Data Tools (SSDT), otwórz projekt w rozszerzeniu projektu Azure Data Studio SQL Database. Otwarcie projektu w narzędziu Azure Data Studio powoduje automatyczne zaktualizowanie sqlproj pliku za pomocą trzech edycji, które są oznaczone informacjami:

    1. Warunki importu
    <Import Condition="'$(NetCoreBuild)' == 'true'" Project="$(NETCoreTargetsPath)\Microsoft.Data.Tools.Schema.SqlTasks.targets"/> 
    <Import Condition="'$(NetCoreBuild)' != 'true' AND '$(SQLDBExtensionsRefPath)' != ''" Project="$(SQLDBExtensionsRefPath)\Microsoft.Data.Tools.Schema.SqlTasks.targets"/>
    <Import Condition="'$(NetCoreBuild)' != 'true' AND '$(SQLDBExtensionsRefPath)' == ''" Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets"/>
    
    1. Dokumentacja pakietu
    <ItemGroup>
        <PackageReference Condition="'$(NetCoreBuild)' == 'true'" Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" PrivateAssets="All"/>
    </ItemGroup>
    
    1. Czyste miejsce docelowe, niezbędne do obsługi podwójnej edycji w narzędziach SQL Server Data Tools (SSDT) i Azure Data Studio
    <Target Name="AfterClean">
        <Delete Files="$(BaseIntermediateOutputPath)\project.assets.json"/>
    </Target>
    

Kompilowanie projektu z poziomu wiersza polecenia

W pełnym folderze .NET użyj następującego polecenia:

dotnet build "<sqlproj file path>" /p:NetCoreBuild=true /p:NETCoreTargetsPath="<DotNet Core build folder>"

Na przykład z /usr/share/dotnet systemu Linux:

dotnet build "/home/myuser/Documents/DatabaseProject1/DatabaseProject1.sqlproj" /p:NetCoreBuild=true /p:NETCoreTargetsPath="/home/myuser/.azuredatastudio/extensions/microsoft.sql-database-projects-x.x.x/BuildDirectory"  

Następne kroki