Skapa ett databasprojekt från kommandoraden
Sql Database Project-tillägget innehåller ett grafiskt användargränssnitt för att skapa ett databasprojekt, men det finns även en kommandoradsversion för Windows-, macOS- och Linux-miljöer. Stegen för att skapa ett projekt från kommandoraden skiljer sig mellan SQL-projekt i SDK-format och det tidigare SQL-projektformatet som inte är SDK-format. Den här artikeln beskriver de förutsättningar och syntax som krävs för att skapa ett dacpac från ett SQL-projekt på kommandoraden för båda SQL-projekttyperna.
SQL-projekt i SDK-stil (förhandsversion)
Att använda Microsoft.Build.Sql med SDK-liknande SQL-projekt är den bästa metoden för att arbeta med SQL-projekt från kommandoraden.
Om du vill skapa ett SQL-projekt i SDK-format från kommandoraden i Windows, macOS eller Linux använder du följande kommando:
dotnet build /p:NetCoreBuild=true
Kommentar
SQL-projekt i SDK-format är för närvarande i förhandsversion.
SQL-projekt i icke-SDK-format
I följande avsnitt beskrivs en work-around för att arbeta med SQL-projekt som inte är I SDK-format från kommandoraden i Windows, macOS och Linux.
Förutsättningar
Installera och konfigurera SQL Database Projects-tillägget.
Följande .NET Core-dlls och målfilen
Microsoft.Data.Tools.Schema.SqlTasks.targets
krävs för att skapa ett SQL-databasprojekt från kommandoraden från alla plattformar som stöds av Azure Data Studio-tillägget för SQL Database Projects. Dessa filer skapas av tillägget under den första versionen som slutfördes i Azure Data Studio-gränssnittet och placeras i tilläggets mapp underBuildDirectory
. I Linux placeras till exempel dessa filer i~\.azuredatastudio\extensions\microsoft.sql-database-projects-x.x.x\BuildDirectory\
. Kopiera dessa 11 filer till en ny och tillgänglig mapp eller anteckna deras plats. Den här platsen kallas iDotNet Core build folder
det här dokumentet.- 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
Om projektet skapades i Azure Data Studio – gå vidare till Skapa projektet från kommandoraden. Om projektet skapades i SQL Server Data Tools (SSDT) öppnar du projektet i Azure Data Studio SQL Database-projekttillägget. När du öppnar projektet i Azure Data Studio uppdateras
sqlproj
filen automatiskt med tre ändringar som anges för din information:- Importvillkor
<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"/>
- Paketreferens
<ItemGroup> <PackageReference Condition="'$(NetCoreBuild)' == 'true'" Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" PrivateAssets="All"/> </ItemGroup>
- Rensa mål som krävs för dubbel redigering i SQL Server Data Tools (SSDT) och Azure Data Studio
<Target Name="AfterClean"> <Delete Files="$(BaseIntermediateOutputPath)\project.assets.json"/> </Target>
Skapa projektet från kommandoraden
Använd följande kommando från den fullständiga .NET-mappen:
dotnet build "<sqlproj file path>" /p:NetCoreBuild=true /p:NETCoreTargetsPath="<DotNet Core build folder>"
Till exempel från /usr/share/dotnet
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"