Migration, Schema-NOT-NULL & klickbare Karten
migrate.sh erzeugt nicht-destruktiv eine frische kver.db aus original-kver.db mit dem aktuellen Go-Schema (NULL/'none'-filepath normalisiert, Soft-Deletes und Waisen verworfen). Das entry-Schema erzwingt jetzt NOT NULL DEFAULT '' auf content/filepath – NULL-filepath ließ scanEntries Zeilen still überspringen. Feed-Karten sind per Klick navigierbar (mit Hover-Highlight); DB-Artefakte landen im .gitignore. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -5,6 +5,22 @@ Eine frische DB (Schema aus `db.go`) braucht keine davon.
|
||||
|
||||
---
|
||||
|
||||
## `filepath` NULL → leerer String
|
||||
|
||||
**Wann:** beim Umstieg auf die Go-Version, falls `entry.filepath` NULL-Werte enthält.
|
||||
|
||||
**Hintergrund:** `scanEntries` scannt `filepath` in ein Go-`string`-Feld (kein Pointer).
|
||||
SQLite NULL in ein `string` scannen schlägt fehl; `scanEntries` überspringt diese Zeilen
|
||||
still mit `continue`. Ergebnis: Einträge ohne Bild fehlen im Feed komplett.
|
||||
Das aktuelle Go-Schema definiert `filepath TEXT NOT NULL DEFAULT ''`. `migrate.sh`
|
||||
normalisiert NULL → `''` beim Kopieren aus der Quelldatenbank.
|
||||
|
||||
```sql
|
||||
UPDATE entry SET filepath = '' WHERE filepath IS NULL;
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `filepath`-Sentinel `"none"` → leerer String
|
||||
|
||||
**Wann:** beim Umstieg auf die Go-Version, falls eine alte `kver.db` aus der
|
||||
|
||||
Reference in New Issue
Block a user