chore(auth): drop the Postgres provider, run SQLite only #44
Labels
No labels
alpha:wave-0
alpha:wave-1
alpha:wave-2
alpha:wave-3
area:assets
area:combat
area:ecology
area:infra
area:render
area:scripting
area:ui
area:world
enhancement
epic
migration
post-alpha
roadmap
tech-debt
type:bug
type:chore
type:design
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
marco/IsoMmo#44
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Decision (design review): Auth stays on EF Core but commits to SQLite only. Moving Auth to binary files was rejected — Auth genuinely queries by username, needs atomic world-wide uniqueness (it already relies on the DB unique index for the character-name race), is security-sensitive, and is deeply coupled to ASP.NET Identity; its schema is stable so there is no recurring migration tax to escape. SQLite (a single embedded file, no server) captures the whole no-DB-server benefit at zero risk, and removing the second provider also ends the dual-provider migration ceremony.
Scope
PostgresAuthDbContext+ itsData/Migrations/Postgres/tree.Npgsql.EntityFrameworkCore.PostgreSQLpackage.Database:Providerswitch — always register SQLite (AddDbContext<AuthDbContext, SqliteAuthDbContext>+Database.Migrate()unchanged).Database:Providerconfig from appsettings.just migrate-auth: generate a single SQLite migration (drop the Postgres line).CLAUDE.md(Persistence),docs/architecture.md,docs/deploy.md,README.md— stop claiming dual-provider / Postgres-in-prod.Keep
AuthDbContext(abstract model) +SqliteAuthDbContext(concrete, existing migrations) as-is — no migration regeneration, so the existing SQLite migrations and the:memory:test factory keep working untouched.Definition of Done
postgres/npgsql/Database:Provider(excluding this issues history) returns nothing outside deleted files.just migrate-auth <Name>produces exactly one migration underData/Migrations/Sqliteand nothing else.Database.Migrate()creates/updatesisommo-auth.db, silent-account-creation + character-uniqueness still work (all Auth integration tests green against SQLite:memory:).Database:Providerkey; removing it from config changes nothing.CLAUDE.md,docs/architecture.md,docs/deploy.md,README.mddescribe Auth as SQLite-only (no dual-provider claims).