MintPlayer.Spark.Migrations 11.0.0-preview.95

This is a prerelease version of MintPlayer.Spark.Migrations.
dotnet add package MintPlayer.Spark.Migrations --version 11.0.0-preview.95
                    
NuGet\Install-Package MintPlayer.Spark.Migrations -Version 11.0.0-preview.95
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MintPlayer.Spark.Migrations" Version="11.0.0-preview.95" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MintPlayer.Spark.Migrations" Version="11.0.0-preview.95" />
                    
Directory.Packages.props
<PackageReference Include="MintPlayer.Spark.Migrations" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MintPlayer.Spark.Migrations --version 11.0.0-preview.95
                    
#r "nuget: MintPlayer.Spark.Migrations, 11.0.0-preview.95"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MintPlayer.Spark.Migrations@11.0.0-preview.95
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MintPlayer.Spark.Migrations&version=11.0.0-preview.95&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=MintPlayer.Spark.Migrations&version=11.0.0-preview.95&prerelease
                    
Install as a Cake Tool

MintPlayer.Spark.Migrations

One-time database migrations for MintPlayer.Spark.

Define a migration by implementing ISparkMigration on a non-abstract class and giving it a static abstract long Version. Migrations run once, in version order, at startup — after indexes are created and before the app serves requests.

using MintPlayer.Spark.Migrations;
using Raven.Client.Documents.Session;

public partial class M_202606081200_SeedDemo : ISparkMigration
{
    public static long Version => 202606081200;          // sortable timestamp; must be unique
    public static string? Description => "Seed demo data";

    [Inject] private readonly IAsyncDocumentSession session;   // full scoped DI, like a cron job

    public async Task UpAsync(CancellationToken cancellationToken)
    {
        await session.StoreAsync(new Company { Name = "Acme" }, cancellationToken);
        await session.SaveChangesAsync(cancellationToken);
    }
}

Enable it — the source generator discovers every ISparkMigration and emits AddMigrations():

builder.Services.AddSpark(builder.Configuration, spark =>
{
    spark.UseContext<MyContext>();
    spark.AddMigrations();   // generated; auto-discovers all migrations in this project
});

Or register manually:

spark.AddMigrations(m => m.AddMigration<M_202606081200_SeedDemo>());

Guarantees

  • Run-once per database — each applied version writes a SparkMigrationRecords/{version} marker document; a migration whose marker exists is skipped.
  • Ordered — migrations run ascending by Version.
  • Multi-node safe — a cluster-wide RavenDB compare-exchange lock (spark/migrations/lock, 30-minute lease) ensures only one node applies migrations at a time.
  • Fail-fast — a migration that throws aborts startup and is left unmarked, so it retries on the next start. Call SaveChangesAsync yourself; the version marker is written only after UpAsync returns successfully.

Forward-only (no Down) by design — migrations describe how the data moves forward.

Product Compatible and additional computed target framework versions.
.NET net11.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on MintPlayer.Spark.Migrations:

Package Downloads
MintPlayer.Spark.Authorization

Optional authorization package for MintPlayer.Spark low-code framework. Provides group-based access control for PersistentObjects and Queries.

MintPlayer.Spark.AllFeatures

All-in-one package for MintPlayer.Spark. References all Spark libraries and source-generates AddSparkFull/UseSparkFull/MapSparkFull convenience methods.

MintPlayer.Spark.IdentityProvider

Self-contained OIDC Identity Provider for MintPlayer.Spark. Adds Authorization Code + PKCE flow with RavenDB storage. No external OIDC framework required.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
11.0.0-preview.95 120 10/4/2026
11.0.0-preview.94 61 10/4/2026
11.0.0-preview.93 57 10/2/2026
11.0.0-preview.92 58 10/2/2026
11.0.0-preview.91 62 9/29/2026
11.0.0-preview.90 55 9/27/2026
11.0.0-preview.89 52 9/27/2026
11.0.0-preview.88 60 9/26/2026
11.0.0-preview.84 61 9/24/2026
10.0.0-preview.84 61 9/21/2026
10.0.0-preview.83 64 9/19/2026
10.0.0-preview.82 72 9/17/2026
10.0.0-preview.81 67 9/15/2026
10.0.0-preview.80 71 9/10/2026
10.0.0-preview.79 74 9/9/2026
10.0.0-preview.78 69 9/9/2026
10.0.0-preview.77 67 9/9/2026
10.0.0-preview.76 68 9/9/2026
10.0.0-preview.75 67 9/7/2026
10.0.0-preview.74 72 9/7/2026
Loading failed