Files
Wegwichtel/docs/editor-merge-notes.md
T
Florian Zumpe be9df67e18
Sonarqube Scanner / Build and analyze (push) Successful in 1m8s
fixed Sonarqube Code Issues
2026-09-02 01:05:30 +02:00

47 lines
1.5 KiB
Markdown

# Wegwichtel Editor v3
Dieses Paket ergänzt den einfachen Streckeneditor und die zugehörigen Tests.
## Datenbankschema
Für bestehende SQLite-Datenbanken liegt weiterhin eine Migration vor:
```bash
sqlite3 <pfad-zur-wegwichtel-db> < database/migrations/20260901_add_route_activated_at.sql
```
Für neu erzeugte Datenbanken muss `database/schema.sql` die Spalte direkt in der `routes`-Tabelle enthalten:
```sql
activated_at DATETIME NULL
```
Falls das Paket ohne bereits angepasste `database/schema.sql` eingespielt wird, kann die Datei einmalig im Repository angepasst werden:
```bash
node scripts/apply-editor-schema.mjs
```
Danach sollte `database/schema.sql` mit committed werden.
## Tests
```bash
node --check public/js/editor-ui.js
npm test -- test/editor-ui.test.js
npm test -- test/editor-database-schema.test.js
npm run test:coverage
```
## SonarQube
Der frühere HTML-Smell durch `role="status"` am Editorstatus wurde entfernt. Der Status ist jetzt ein semantisches `<output>` mit `aria-live="polite"`.
## v4 SQLite-STRICT und Sonar-Hotspot
- `database/schema.sql` enthält `routes.activated_at` direkt im Initialschema als `TEXT DEFAULT NULL`.
- Die Migration verwendet ebenfalls `TEXT DEFAULT NULL`, damit bestehende SQLite-STRICT-Datenbanken kompatibel bleiben.
- `scripts/apply-editor-schema.mjs` enthält keine Schema-Merge-Regex mehr; der frühere Hilfsmechanismus wurde durch eine einfache lineare Schema-Prüfung ersetzt.
- `test/editor-database-schema.test.js` prüft bewusst `TEXT DEFAULT NULL` und verbietet `DATETIME` in der STRICT-Route-Tabelle.