Membangun proyek database dari baris perintah
Meskipun ekstensi Proyek SQL Database menyediakan antarmuka pengguna grafis untuk membangun proyek database, pengalaman build baris perintah juga tersedia untuk lingkungan Windows, macOS, dan Linux. Langkah-langkah untuk membangun proyek dari baris perintah berbeda antara proyek SQL gaya SDK dan format proyek SQL gaya non-SDK sebelumnya. Artikel ini menguraikan prasyarat dan sintaksis yang diperlukan untuk membangun dacpac dari proyek SQL di baris perintah untuk kedua jenis proyek SQL.
Proyek SQL bergaya SDK (pratinjau)
Menggunakan Microsoft.Build.Sql dengan proyek SQL bergaya SDK adalah metode yang disukai untuk bekerja dengan proyek SQL dari baris perintah.
Untuk membangun proyek SQL gaya SDK dari baris perintah di Windows, macOS, atau Linux, gunakan perintah berikut:
dotnet build /p:NetCoreBuild=true
Catatan
Proyek SQL bergaya SDK saat ini dalam pratinjau.
Proyek SQL gaya non-SDK
Bagian berikut menjelaskan cara kerja untuk bekerja dengan proyek SQL gaya non-SDK dari baris perintah di Windows, macOS, dan Linux.
Prasyarat
Menginstal dan mengonfigurasi ekstensi Proyek SQL Database.
Dll .NET Core berikut dan file
Microsoft.Data.Tools.Schema.SqlTasks.targets
target diperlukan untuk membangun proyek database SQL dari baris perintah dari semua platform yang didukung oleh ekstensi Azure Data Studio untuk Proyek Database SQL. File-file ini dibuat oleh ekstensi selama build pertama selesai di antarmuka Azure Data Studio dan ditempatkan di folder ekstensi di bawahBuildDirectory
. Misalnya, di Linux, file-file ini ditempatkan di~\.azuredatastudio\extensions\microsoft.sql-database-projects-x.x.x\BuildDirectory\
. Salin 11 file ini ke folder baru dan dapat diakses atau catat lokasinya. Lokasi ini disebut sebagaiDotNet Core build folder
dalam dokumen ini.- 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
Jika proyek dibuat di Azure Data Studio - lewati ke depan untuk Membangun proyek dari baris perintah. Jika proyek dibuat di SQL Server Data Tools (SSDT), buka proyek di ekstensi proyek Azure Data Studio SQL Database. Membuka proyek di Azure Data Studio secara otomatis memperbarui
sqlproj
file dengan tiga pengeditan, dicatat untuk informasi Anda:- Kondisi impor
<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"/>
- Referensi paket
<ItemGroup> <PackageReference Condition="'$(NetCoreBuild)' == 'true'" Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" PrivateAssets="All"/> </ItemGroup>
- Bersihkan target, diperlukan untuk mendukung pengeditan ganda di SQL Server Data Tools (SSDT) dan Azure Data Studio
<Target Name="AfterClean"> <Delete Files="$(BaseIntermediateOutputPath)\project.assets.json"/> </Target>
Membangun proyek dari baris perintah
Dari folder .NET lengkap, gunakan perintah berikut:
dotnet build "<sqlproj file path>" /p:NetCoreBuild=true /p:NETCoreTargetsPath="<DotNet Core build folder>"
Misalnya, dari /usr/share/dotnet
di 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"