EffSln.DatabaseMigration
1.0.4
dotnet add package EffSln.DatabaseMigration --version 1.0.4
NuGet\Install-Package EffSln.DatabaseMigration -Version 1.0.4
<PackageReference Include="EffSln.DatabaseMigration" Version="1.0.4" />
<PackageVersion Include="EffSln.DatabaseMigration" Version="1.0.4" />
<PackageReference Include="EffSln.DatabaseMigration" />
paket add EffSln.DatabaseMigration --version 1.0.4
#r "nuget: EffSln.DatabaseMigration, 1.0.4"
#:package EffSln.DatabaseMigration@1.0.4
#addin nuget:?package=EffSln.DatabaseMigration&version=1.0.4
#tool nuget:?package=EffSln.DatabaseMigration&version=1.0.4
EffSln.DatabaseMigration
Automatic SQL script execution on startup. A companion to code first migrations to help deploy arbitrary sql scripts.
On every startup, all the scripts in the options.ScriptFolder are ran against the databases(s). Multiple destinations are supported.
Installation
dotnet add package EffSln.DatabaseMigration
Quick Start
// In Program.cs or Startup.cs
services.AddDatabaseMigration();
Configuration
Use DefaultConnection and data/procs folder
services.AddDatabaseMigration();
On multiple databases and specific different folder
services.AddDatabaseMigration(o =>
{
o.ConnectionStringNames = new[] { "DefaultConnection", "SandboxConnection" };
o.ScriptFolder = "scripts";
});
Additional Config
Run ef core code-first migrations (and run scripts) on multiple databases
services.AddDatabaseMigration(o =>
{
o.ConnectionStringNames = new[] { "DefaultConnection", "SandboxConnection" };
o.ScriptFolder = "data/procs";
o.MigrateDbContext = async (services, connectionString) =>
{
var optionsBuilder = new DbContextOptionsBuilder<AppDbContext>()
.UseNpgsql(connectionString);
using var dbContext = new AppDbContext(optionsBuilder.Options);
await dbContext.Database.MigrateAsync();
};
});
Development
Build this repo in visual studio then you can reference it in another project like this:
Remove-Item -Recurse -Force "$env:USERPROFILE\.nuget\packages\EffSln.DatabaseMigration"
dotnet add package EffSln.DatabaseMigration --source C:\src\EffSln.DatabaseMigration\bin\Debug
| 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.EntityFrameworkCore (>= 9.0.9)
- Microsoft.Extensions.Configuration (>= 9.0.9)
- Microsoft.Extensions.DependencyInjection (>= 9.0.9)
- Microsoft.Extensions.Hosting (>= 9.0.9)
- Npgsql.EntityFrameworkCore.PostgreSQL (>= 9.0.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.