csharp
public interface IPersistenceEverything behind one connection, so a caller composes one object rather than three.
Remarks
⚠ The three are one store, and the ledger's fence is why. An append names the acting realm's lease epoch and the fence it is checked against is the character's row — so a deployment that put the journal in one database and the characters in another would have no way to make the check and the write one transaction. Handing them out together is the interface admitting what the implementations already require.
Fields and properties (3)
IAccountRepository AccountsAccounts.
IPlayerRepository PlayersCharacters.
ILedger LedgerThe journal.
Methods (1)
Task<int> MigrateAsync(CancellationToken cancellation)Brings the schema up to date, and says nothing if it already is.
Used by (3)
- GateServiceVixen.Live.Gate
- MemoryPersistenceVixen.Live.Persistence
- SqlPersistenceVixen.Live.Persistence