Skip to content

Commit 3e9ec23

Browse files
authored
Merge pull request #113 from elsa-workflows/copilot/fix-fluentmigrator-dependency
Replace FluentMigrator.Runner meta-package with FluentMigrator.Runner.Core
2 parents 292d95e + bc5016c commit 3e9ec23

File tree

5 files changed

+26
-25
lines changed

5 files changed

+26
-25
lines changed

Directory.Packages.props

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,9 @@
151151
<PackageVersion Include="FastEndpoints.Swagger" Version="7.1.1"/>
152152
<PackageVersion Include="FluentMigrator" Version="7.2.0"/>
153153
<PackageVersion Include="FluentMigrator.Runner" Version="7.2.0"/>
154+
<PackageVersion Include="FluentMigrator.Runner.Core" Version="7.2.0"/>
155+
<PackageVersion Include="FluentMigrator.Runner.SqlServer" Version="7.2.0"/>
156+
<PackageVersion Include="FluentMigrator.Runner.SQLite" Version="7.2.0"/>
154157
<PackageVersion Include="FluentStorage" Version="6.0.0"/>
155158
<PackageVersion Include="Fluid.Core" Version="2.31.0"/>
156159
<PackageVersion Include="Fody" Version="6.9.3"/>

src/modules/persistence/Elsa.Persistence.Dapper/Elsa.Persistence.Dapper.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
<PackageReference Include="Azure.Identity"/>
1616
<PackageReference Include="Dapper"/>
1717
<PackageReference Include="FluentMigrator"/>
18-
<PackageReference Include="FluentMigrator.Runner"/>
18+
<PackageReference Include="FluentMigrator.Runner.Core"/>
1919
<PackageReference Include="Microsoft.Data.Sqlite.Core"/>
20+
<PackageReference Include="Microsoft.Data.SqlClient"/>
2021
<PackageReference Include="Microsoft.Identity.Client"/>
2122
<PackageReference Include="Npgsql"/>
22-
<PackageReference Include="System.Data.SqlClient"/>
2323
<PackageReference Include="System.Formats.Asn1"/>
2424
</ItemGroup>
2525

src/modules/persistence/Elsa.Persistence.Dapper/Features/DapperMigrationsFeature.cs

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,26 +15,14 @@ namespace Elsa.Persistence.Dapper.Features;
1515
public class DapperMigrationsFeature(IModule module) : FeatureBase(module)
1616
{
1717
/// <summary>
18-
/// Configures migrations to use SQLite.
19-
/// </summary>
20-
public DapperMigrationsFeature UseSqlite()
21-
{
22-
ConfigureRunner += runner => runner.AddSQLite();
23-
return this;
24-
}
25-
26-
/// <summary>
27-
/// Configures migrations to use SQLite.
28-
/// </summary>
29-
public DapperMigrationsFeature UseSqlServer()
30-
{
31-
ConfigureRunner += runner => runner.AddSqlServer();
32-
return this;
33-
}
34-
35-
/// <summary>
36-
/// Gets or sets a delegate to configure migrations.
18+
/// Gets or sets a delegate used to configure the <see cref="IMigrationRunnerBuilder"/> for Dapper migrations.
3719
/// </summary>
20+
/// <remarks>
21+
/// The delegate must configure a database provider on the runner (for example by calling
22+
/// <c>AddSqlServer()</c> or <c>AddSQLite()</c>) in addition to any other settings.
23+
/// This replaces the removed <c>UseSqlServer()</c> and <c>UseSqlite()</c> convenience methods;
24+
/// consumers migrating from those APIs should move their provider configuration into this delegate.
25+
/// </remarks>
3826
public Action<IMigrationRunnerBuilder> ConfigureRunner { get; set; } = runner => runner
3927
.WithGlobalConnectionString(sp => sp.GetRequiredService<IDbConnectionProvider>().GetConnectionString())
4028
.WithMigrationsIn(typeof(Initial).Assembly);

src/workbench/Elsa.Server.Web/Elsa.Server.Web.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
<PackageReference Include="Elsa.Workflows.Api" />
2626
<PackageReference Include="Elsa.WorkflowProviders.BlobStorage" />
2727
<PackageReference Include="Elsa.Workflows.Runtime.Distributed" />
28+
<PackageReference Include="FluentMigrator.Runner.SqlServer" />
29+
<PackageReference Include="FluentMigrator.Runner.SQLite" />
2830
<PackageReference Include="Hangfire.Core" />
2931
<PackageReference Include="Hangfire.MemoryStorage" />
3032
<PackageReference Include="Hangfire.PostgreSql" />

src/workbench/Elsa.Server.Web/Program.cs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
using Elsa.Identity.Multitenancy;
1313
using Elsa.OpenTelemetry.Middleware;
1414
using Elsa.Persistence.Dapper.Extensions;
15+
using Elsa.Persistence.Dapper.Contracts;
1516
using Elsa.Persistence.Dapper.Services;
1617
using Elsa.Persistence.EFCore.Extensions;
1718
using Elsa.Persistence.EFCore.Modules.Alterations;
@@ -53,6 +54,7 @@
5354
using Elsa.Workflows.Runtime.Options;
5455
using Elsa.Workflows.Runtime.Stores;
5556
using Elsa.Workflows.Runtime.Tasks;
57+
using FluentMigrator.Runner;
5658
using Hangfire;
5759
using Hangfire.MemoryStorage;
5860
using Hangfire.PostgreSql;
@@ -128,10 +130,16 @@
128130
{
129131
dapper.UseMigrations(feature =>
130132
{
131-
if (sqlDatabaseProvider == SqlDatabaseProvider.SqlServer)
132-
feature.UseSqlServer();
133-
else
134-
feature.UseSqlite();
133+
feature.ConfigureRunner = builder =>
134+
{
135+
var runnerBuilder = sqlDatabaseProvider == SqlDatabaseProvider.SqlServer
136+
? builder.AddSqlServer()
137+
: builder.AddSQLite();
138+
139+
runnerBuilder
140+
.WithGlobalConnectionString(sp => sp.GetRequiredService<IDbConnectionProvider>().GetConnectionString())
141+
.WithMigrationsIn(typeof(Elsa.Persistence.Dapper.Migrations.Management.Initial).Assembly);
142+
};
135143
});
136144
dapper.DbConnectionProvider = sp =>
137145
{

0 commit comments

Comments
 (0)