feat(db): stock CHECK constraints + audit_logs DATETIME (2038 fix)

Migration 20260612234500: CHECK (quantity >= 0) on sklad_batches and
sklad_item_locations — the DB itself now rejects negative stock, so a
future C2-class bug (cumulative decrements driving a batch negative and
silently vanishing from totals) becomes a loud error instead of hidden
corruption. All three databases verified clean of negative rows before
the migration.

audit_logs.created_at TIMESTAMP(0) -> DATETIME(0): TIMESTAMP dies in 2038
and converts through the session timezone; existing wall times preserved
by the MODIFY.

Pinned by db-constraints.test.ts (4 tests, each watched fail pre-migration:
negative insert/update/location all succeeded before, 2098 audit timestamp
was rejected before).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
BOHA
2026-06-12 23:56:56 +02:00
parent fd2e613aa5
commit b51ea2505e
5 changed files with 156 additions and 4 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "app-ts",
"version": "2.4.32",
"version": "2.4.33",
"description": "",
"main": "dist/server.js",
"scripts": {