Context
When using ADO.NET clustering/persistence providers, setting up the database schema requires manually executing SQL scripts. While this is straightforward, it adds friction in CI/CD pipelines and containerized deployments where automation is preferred.
A couple of approaches that could work:
Option 1
Embed existing SQL scripts as assembly resources and execute them automatically based on configuration:
siloBuilder.UseAdoNetClustering(options =>
{
options.ConnectionString = "...";
options.Invariant = "Npgsql";
options.AutoApplySchema = true;
});
Option 2
Ship pre-built migration bundles per database provider instead of raw SQL scripts. Users would run the bundle against their database before starting the silo — no SDK required, just a self-contained executable
- Has this been discussed or rejected previously?
- Are there technical or philosophical concerns with this approach?