Implement PostgreSQL parity and publish DocFX via Pages#19
Merged
Conversation
…ems resolved - data-model.md: fix MachineState bool types, view descriptions (TRUE/FALSE), add PgSQL 14+ requirement, HardwareInventoryView semantic-change explanation, FK ON DELETE RESTRICT documentation, C#-Methoden-Abdeckung section - research.md: add R-07 negative daysToKeep edge case, R-08 unit/integration dividing line, R-10 Alternatives considered section - plan.md: document unquantified write-perf as accepted ambiguity, add CI filter commands, test-DB teardown, Dispose null-check to Null-Pattern - contracts/: NpgsqlException on all write methods, await using for CSV import, all 3 ServiceContainer changes with code examples, deferred stats-views section - quickstart.md: standardize PGSQL_TEST_CONNECTION_STRING env var, add SQL negative verification to Schritt 7 (WriteEnabled=false) - PgSqlDbService.cs: Disabled/Deprovisioned BOOLEAN + view WHERE clauses (from prev session) - checklists/plan.md: all 30 CHK items marked [x] Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ss 8 phases Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… M1, M2, M3 - H1: Add T038b rollback integration test (SC-004 / US4 Scenario 3) - H2: Add T026b unit test for CleanupOldRecords cutoff logic (+ CalculateCutoff helper) - M1: Update spec.md US5 SC-2 — PostgreSQL lowercases unquoted column aliases - M2: Fix Phase 2 parallel-execution ordering (T002 must precede T003–T007) - M3: Replace integer notation (0/1) with BOOLEAN (FALSE/TRUE) in spec.md US3 and contracts/ descriptions for GetAllActive/Disabled/DeprovisionedMachinesAsync Tasks: 52 → 54 (7 unit tests, 19 integration tests, 28 impl tasks) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… U2, D1 - U1: T035 — add CalculateCutoff static helper extraction (required by T026b unit test) - U2: T038b — narrow rollback trigger to UNIQUE violation (deterministic test setup) - D1: add T026b/T038b dependency footnote to User-Story-Abhängigkeiten section Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Zweck
Dieser PR schliesst die Feature-Implementierung fuer
001-pgsql-paritaetab und fuehrt die fehlende PostgreSQL-Paritaet zumSqliteDbServiceinPgSqlDbServiceein.Zusaetzlich wird die DocFX-Dokumentation auf ungetrackte Build-Artefakte umgestellt und automatisch nach GitHub Pages ausgerollt.
Hauptaenderungen
PgSqlDbServiceum die fehlenden Write-, Read-, Count-, Cleanup- und CSV-Import-Pfade erweitertInitializeundServiceContainerfuer optionales PostgreSQL sauber nullable-/dispose-sicher gemachtHarvesterWorkerServiceso erweitert, dass parallel nach PostgreSQL geschrieben werden kannNU1903,CA1416, Nullable/Testwarnungen) systematisch reduziert und Solution-Build auf0Warnungen gebracht88.72 %gebrachtapi/und_site/aus Git herausgenommenInventarWorkerCommon,CtrlWorkerCommonundCtrlWorkerServiceCmdletfokussiertBetroffene Projekte
InventarWorkerCommonHarvesterWorkerServiceInventarWorkerCommonTestCtrlWorkerCommon/CtrlWorkerCommonTestInventarViewerAppInventarWorkerServiceIntegrationTestTestnachweise
Ausgefuehrt und erfolgreich:
dotnet build InventarWorkerService.sln --no-incrementaldotnet test InventarWorkerCommonTest/InventarWorkerCommonTest.csproj --filter "TestCategory!=Integration"dotnet test InventarWorkerCommonTest/InventarWorkerCommonTest.csproj --filter "TestCategory=Integration"env PGSQL_TEST_CONNECTION_STRING='Host=localhost;Port=5432;Database=inventar_test;Username=inventar;Password=test;' dotnet test InventarWorkerCommonTest/InventarWorkerCommonTest.csproj --collect:"XPlat Code Coverage" --results-directory ./TestResults/coverage-t046-combineddotnet tool run reportgenerator -reports:"./TestResults/coverage-t046-combined/**/coverage.cobertura.xml" -targetdir:"./TestResults/CoverageReport"docfx docfx.jsonspecs/001-pgsql-paritaet/quickstart.mdWesentliche Ergebnisse:
0Warnungen /0Fehler88.72 %workflowaktiviertKonfigurations- und API-Auswirkungen
.github/workflows/docs-pages.ymlmainapi/und_site/werden nicht mehr versioniertLastenheft_PostgreSQL_Implementation.001-pgsql-paritaet.mdumbenannt