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:

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.

Siehe auch