diff --git a/Directory.Packages.props b/Directory.Packages.props
index 2f9c1f84..03f7e323 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -151,6 +151,9 @@
+
+
+
diff --git a/src/modules/persistence/Elsa.Persistence.Dapper/Elsa.Persistence.Dapper.csproj b/src/modules/persistence/Elsa.Persistence.Dapper/Elsa.Persistence.Dapper.csproj
index eaeff69d..2fce2723 100644
--- a/src/modules/persistence/Elsa.Persistence.Dapper/Elsa.Persistence.Dapper.csproj
+++ b/src/modules/persistence/Elsa.Persistence.Dapper/Elsa.Persistence.Dapper.csproj
@@ -15,11 +15,11 @@
-
+
+
-
diff --git a/src/modules/persistence/Elsa.Persistence.Dapper/Features/DapperMigrationsFeature.cs b/src/modules/persistence/Elsa.Persistence.Dapper/Features/DapperMigrationsFeature.cs
index 6659cf9a..6cebb614 100644
--- a/src/modules/persistence/Elsa.Persistence.Dapper/Features/DapperMigrationsFeature.cs
+++ b/src/modules/persistence/Elsa.Persistence.Dapper/Features/DapperMigrationsFeature.cs
@@ -15,26 +15,14 @@ namespace Elsa.Persistence.Dapper.Features;
public class DapperMigrationsFeature(IModule module) : FeatureBase(module)
{
///
- /// Configures migrations to use SQLite.
- ///
- public DapperMigrationsFeature UseSqlite()
- {
- ConfigureRunner += runner => runner.AddSQLite();
- return this;
- }
-
- ///
- /// Configures migrations to use SQLite.
- ///
- public DapperMigrationsFeature UseSqlServer()
- {
- ConfigureRunner += runner => runner.AddSqlServer();
- return this;
- }
-
- ///
- /// Gets or sets a delegate to configure migrations.
+ /// Gets or sets a delegate used to configure the for Dapper migrations.
///
+ ///
+ /// The delegate must configure a database provider on the runner (for example by calling
+ /// AddSqlServer() or AddSQLite()) in addition to any other settings.
+ /// This replaces the removed UseSqlServer() and UseSqlite() convenience methods;
+ /// consumers migrating from those APIs should move their provider configuration into this delegate.
+ ///
public Action ConfigureRunner { get; set; } = runner => runner
.WithGlobalConnectionString(sp => sp.GetRequiredService().GetConnectionString())
.WithMigrationsIn(typeof(Initial).Assembly);
diff --git a/src/workbench/Elsa.Server.Web/Elsa.Server.Web.csproj b/src/workbench/Elsa.Server.Web/Elsa.Server.Web.csproj
index fa34185c..2e37fc91 100644
--- a/src/workbench/Elsa.Server.Web/Elsa.Server.Web.csproj
+++ b/src/workbench/Elsa.Server.Web/Elsa.Server.Web.csproj
@@ -25,6 +25,8 @@
+
+
diff --git a/src/workbench/Elsa.Server.Web/Program.cs b/src/workbench/Elsa.Server.Web/Program.cs
index 02c1a9f7..af9a2e30 100644
--- a/src/workbench/Elsa.Server.Web/Program.cs
+++ b/src/workbench/Elsa.Server.Web/Program.cs
@@ -12,6 +12,7 @@
using Elsa.Identity.Multitenancy;
using Elsa.OpenTelemetry.Middleware;
using Elsa.Persistence.Dapper.Extensions;
+using Elsa.Persistence.Dapper.Contracts;
using Elsa.Persistence.Dapper.Services;
using Elsa.Persistence.EFCore.Extensions;
using Elsa.Persistence.EFCore.Modules.Alterations;
@@ -53,6 +54,7 @@
using Elsa.Workflows.Runtime.Options;
using Elsa.Workflows.Runtime.Stores;
using Elsa.Workflows.Runtime.Tasks;
+using FluentMigrator.Runner;
using Hangfire;
using Hangfire.MemoryStorage;
using Hangfire.PostgreSql;
@@ -128,10 +130,16 @@
{
dapper.UseMigrations(feature =>
{
- if (sqlDatabaseProvider == SqlDatabaseProvider.SqlServer)
- feature.UseSqlServer();
- else
- feature.UseSqlite();
+ feature.ConfigureRunner = builder =>
+ {
+ var runnerBuilder = sqlDatabaseProvider == SqlDatabaseProvider.SqlServer
+ ? builder.AddSqlServer()
+ : builder.AddSQLite();
+
+ runnerBuilder
+ .WithGlobalConnectionString(sp => sp.GetRequiredService().GetConnectionString())
+ .WithMigrationsIn(typeof(Elsa.Persistence.Dapper.Migrations.Management.Initial).Assembly);
+ };
});
dapper.DbConnectionProvider = sp =>
{