Mit info über eine Datenbank berichten
Vorläufige, ungeprüfte automatische Übersetzung. Im Zweifelsfall konsultieren Sie die englische Version, die als Referenzversion gilt.
kent info berichtet, was eine vorhandene Cordelia-Datenbank enthält: ihre
Schemaversion, die von diesem Kent-Build erwartete Schemaversion und die Zeilenzahl jeder
Tabelle, die mindestens eine Zeile enthält.
Der Befehl ist nur lesend. kent info öffnet die Datenbank und schreibt nichts
hinein.
Übersicht
kent info <dbfilename>
Nur befüllte Tabellen werden aufgelistet
Eine Cordelia-Datenbank hat rund 129 Tabellen, von denen die meisten leer bleiben, bis
Aktivitäten importiert werden; sie alle aufzulisten würde die wichtigen begraben. Verwenden
Sie kent details, um jede Tabelle zu sehen, auch die
leeren.
Referenz- und Nachschlagetabellen werden nicht gesondert behandelt.
FileTypeLookup, FieldTypeLookup und die
better_labels_*-Tabellen werden beim Anlegen einer Datenbank vorbefüllt, sie
enthalten also Zeilen und erscheinen wie jede andere befüllte Tabelle. In einer mit
kent createdb angelegten und nie befüllten Datenbank
sind diese vorbefüllten Tabellen das Einzige, worüber kent info berichtet. Das ist zu erwarten und kein Fehler.
Es werden immer zwei Schemaversionen angezeigt
Beide werden ausgegeben, weil sie sich bei einer Datenbank, die sich erfolgreich öffnen lässt, legitim unterscheiden können:
- Schemaversion: was diese Datenbankdatei speichert.
- Von diesem Build erwartet, was die Cordelia-Version schreibt, gegen die Kent gebaut wurde.
Eine von einer neueren Cordelia geschriebene Datenbank öffnet sich normal
und meldet ihre eigene höhere Version. Eine von einer älteren Cordelia
geschriebene Datenbank wird rundweg abgelehnt (Cordelias Datenbankschicht weist sie beim
Öffnen ab, statt die Abweichung später als unlesbare Zeilen auftauchen zu lassen) also gibt
kent info diese Ablehnung aus und beendet sich mit 1. Derzeit gibt
es keine Möglichkeit, eine alte Datenbank zu migrieren.
Ein fehlender Pfad wird nicht angelegt
Ein nicht vorhandener Pfad wird als fehlend gemeldet und nicht angelegt. Das ist wichtig, weil SQLites eigener Öffnen-Aufruf die übergebene Datei erzeugt, ein vertippter Pfad würde sonst eine verwaiste leere Datenbank hinterlassen.
Beispiele
Eine frisch angelegte Datenbank, nur die vorbefüllten Referenztabellen enthalten Zeilen:
$ kent createdb mydata.sqlite
$ kent info mydata.sqlite
Database: mydata.sqlite
Schema version: 2
Expected by this build: 2
Table Rows
------------------------- -----
FieldTypeLookup 7
FileTypeLookup 20
better_labels_definitions 2811
better_labels_lookup 16866
------------------------- -----
Total (4 tables) 19704
Eine Datenbank, die älter ist als dieser Build versteht:
$ kent info old.sqlite
kent info: failed to open database: This database uses an older schema and cannot be opened; version 2 is required. Create a new database and import your .FIT files again.
$ echo $?
1
Ein Pfad, der nicht existiert:
$ kent info nope.sqlite
kent info: nope.sqlite does not exist
$ echo $?
1
Siehe auch Vollständiger Bericht mit details und Fehlermeldungen und Exit-Codes.