maksit-persistence/CHANGELOG.md
Maksym Sadovnychyy 626cccd34f (feature): init
2026-08-17 12:13:45 +02:00

19 lines
1.0 KiB
Markdown

# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [1.0.0] - 2026-08-17
### Added
- Package **MaksIT.Persistence** (repo `maksit-persistence`): product-agnostic linq2db + PostgreSQL Engine spine.
- **Connection factory:** `ILinq2DbConnectionFactory` / `RegisterLinq2Db(connectionString, mappingSchema?)` — scoped PostgreSQL `DataConnection`.
- **Migrations:** `RegisterPostgresMigrations` — wait for Postgres, optional create-DB, retry `MigrateUp`, product hooks for coordination tables and schema verify.
- **Schema sync:** `RegisterSchemaSync` — add-only `ALTER TABLE … ADD COLUMN` from a product desired-schema map.
- **Guards:** `Linq2DbGuard` maps Postgres unique violation (`23505`) to `Result.Conflict`; rethrows `OperationCanceledException`.
- **Mapping:** `NameConverter.ToSnakeCase` and fluent `MapScalarPropertiesToSnakeCase`.