Regeln, sql-db-migrations
27 Regeln in /var/www/code/sql-db-migrations/rules.yaml.
| ID | Titel | Severity |
|---|---|---|
| SQL_001_CONSTRAINTS_FOR_INTEGRITY | Integritaet gehoert in die Datenbank | must |
| SQL_002_PREPARED_STATEMENTS | Alle variablen Werte werden gebunden | must |
| SQL_003_TENANT_SCOPE | Tenant-Scope ist Teil jeder Abfrage | must |
| SQL_004_INDEX_FOR_FILTER_SORT_SEARCH | GUI-Listen brauchen passende Indexe | must |
| SQL_005_STABLE_PAGINATION_ORDER | Pagination hat stabile Ordnung | must |
| SQL_006_NO_SELECT_STAR_IN_APP_QUERIES | Keine SELECT-Sternchen in Anwendungsqueries | should |
| SQL_007_TRANSACTIONS_FOR_MULTI_STEP_CHANGES | Mehrschrittige Aenderungen sind atomar | must |
| SQL_008_MIGRATIONS_ARE_REVIEWABLE | Migrationen beschreiben Risiko und Rollback | must |
| SQL_009_BACKFILL_WITHOUT_LONG_LOCKS | Backfills sind kontrolliert | should |
| SQL_010_SOFT_DELETE_UNIQUENESS | Soft Delete und Unique passen zusammen | must |
| SQL_011_AUDITABLE_TIMESTAMPS | Aenderungszeitpunkte sind konsistent | should |
| SQL_012_EXPLAIN_FOR_SLOW_OR_SHARED_QUERIES | Teure Queries haben EXPLAIN-Nachweis | should |
| SQL_013_DETERMINISTIC_FIXTURES | Seeds und Fixtures sind deterministisch | should |
| SQL_014_NO_GUI_ONLY_DATA_RULES | GUI-Regeln ersetzen keine Datenregeln | must |
| SQL_015_MUTABLE_SSOT_REQUIRES_ROW_HISTORY | Mutable SSOT-Tabellen brauchen Row-History | must |
| SQL_016_HISTORY_TRIGGER_COVERS_INSERT_UPDATE_DELETE | History-Trigger deckt Insert, Update und Delete ab | must |
| SQL_017_HISTORY_BASELINE_BACKFILL_REQUIRED | Bestehende Daten bekommen Baseline-History | must |
| SQL_018_HISTORY_EXCLUSIONS_ARE_EXPLICIT | History-Ausnahmen sind explizit begruendet | must |
| SQL_019_DYNAMIC_SCHEMAS_INCLUDE_HISTORY | Dynamische Schemas provisionieren History mit | must |
| SQL_020_HISTORY_PII_AND_SECRET_BOUNDARIES | History speichert keine Secrets und behandelt PII bewusst | must |
| SQL_021_RESTORE_CONTRACT_REQUIRED | History braucht kontrollierten Restore-Vertrag | must |
| SQL_022_HISTORY_GUI_CONTRACT | History ist mit GUI, JS und CSS gekoppelt | must |
| SQL_023_HISTORY_TABLES_APPEND_ONLY | History-Tabellen sind append-only | must |
| SQL_024_AUDIT_QUESTION_BEFORE_HISTORY_LAYER | Row-History braucht eine fachliche Audit-Frage | must |
| SQL_025_TARGET_SCHEMA_PREFLIGHT_REQUIRED | Migrationen brauchen Target-Schema-Preflight | must |
| SQL_026_HISTORY_IGNORES_TECHNICAL_TIMESTAMP_ONLY_CHANGES | History ignoriert reine Technik-Zeitstempel | must |
| SQL_027_HISTORY_SCOPE_IS_PROPORTIONAL | History-Umfang ist proportional | should |