ScriptDeployTools 2.0.5
dotnet add package ScriptDeployTools --version 2.0.5
NuGet\Install-Package ScriptDeployTools -Version 2.0.5
<PackageReference Include="ScriptDeployTools" Version="2.0.5" />
<PackageVersion Include="ScriptDeployTools" Version="2.0.5" />
<PackageReference Include="ScriptDeployTools" />
paket add ScriptDeployTools --version 2.0.5
#r "nuget: ScriptDeployTools, 2.0.5"
#:package ScriptDeployTools@2.0.5
#addin nuget:?package=ScriptDeployTools&version=2.0.5
#tool nuget:?package=ScriptDeployTools&version=2.0.5
ScriptDeployTools
Inspired by DbUp supporting easy filtering, ordering and versioning:
Key
Not deployed if a script with the same key is already deployed.
DependsOn
Not deployed unless a script with this key is deployed.
ActualBefore
Not deployed if a script with this key is already deployed.
CanRepeat and ContentsHash
It is deployed every time if the hash has changed.
Used extensions are implemented IDeploySource
and IDeployTarget
for different sources and targets.
OrderGroup
Deploying by groups in special sequences
IsService
This script not sorting and deployed only in special code (e.g. insert migrations)
IsInitializeTarget
This scripts can deploy when target is not created (e.g. script to create database).
Define script
Used class (implementation of IScript) for describe script's properties:
internal record DeviceTypes() : ScriptBase("DEVICE_TYPES")
{
public override string DependsOn => "IDENTITY_COMMON";
public override string Source => "SqlServerDeploy.Scripts.v1_0_0.Tables.DeviceTypes.sql";
}
Script's content stored in resources by path from properties "Source" (implemented for package ScriptDeployTools.Sources.Embedded).
Used
var deployService = new DeployBuilder()
.AddLogger(loggerFactory.CreateLogger<IDeploymentService>())
.AddOptions(new DeploymentOptions
{
InsertMigrationScript = scripts.FirstOrDefault(x =>
x is { IsService: true, ScriptKey: "INSERT_MIGRATION" })
})
.FromEmbeddedResources(options =>
{
options.Assemblies = [typeof(DeployHelper).Assembly];
})
.ToSqlServer(options =>
{
options.ConnectionString = connectionString;
options.GetDeployedInfoScript = scripts.FirstOrDefault(x =>
x is { IsService: true, ScriptKey: "GET_DEPLOYED_SCRIPTS" });
})
.Build();
await deployService.Deploy(scripts, cancellationToken);
A more detailed example is available in this repository.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on ScriptDeployTools:
Package | Downloads |
---|---|
ScriptDeployTools.Targets.SqlServer
Deploy scripts to SQL Server |
|
ScriptDeployTools.Sources.Embedded
Deploy scripts from sources |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
2.0.5 | 294 | 3/23/2025 |