Établir un rapport sur une base de données avec info

Traduction automatique provisoire, non révisée. En cas de doute, consultez la version anglaise, qui fait foi.

kent info indique ce que contient une base de données Cordelia existante : sa version de schéma, la version de schéma que cette compilation de Kent attend, et le nombre de lignes de chaque table qui contient au moins une ligne.

Il est en lecture seule. kent info ouvre la base de données et n'y écrit rien.

Synopsis

kent info <dbfilename>

Seules les tables peuplées sont listées

Une base de données Cordelia compte environ 129 tables, dont la plupart sont vides tant qu'aucune activité n'a été importée ; toutes les lister enterrerait celles qui comptent. Utilisez kent details pour voir toutes les tables, y compris les vides.

Les tables de référence ne sont pas traitées à part. FileTypeLookup, FieldTypeLookup et les tables better_labels_* sont pré-remplies à la création d'une base, elles contiennent donc des lignes et sont listées comme n'importe quelle autre table peuplée. Dans une base créée par kent createdb et jamais alimentée, ces tables pré-remplies sont la seule chose que kent info rapporte. C'est attendu, pas un défaut.

Deux versions de schéma sont toujours affichées

Les deux sont imprimées parce qu'elles peuvent légitimement différer sur une base qui s'ouvre correctement :

Une base écrite par une Cordelia plus récente s'ouvre normalement et annonce sa propre version supérieure. Une base écrite par une Cordelia plus ancienne est refusée d'emblée, la couche base de données de Cordelia la rejette à l'ouverture plutôt que de laisser l'écart ressurgir plus tard sous forme de lignes illisibles, donc kent info affiche ce refus et sort avec le code 1. Il n'y a actuellement aucun moyen de migrer une ancienne base de données.

Un chemin inexistant n'est pas créé

Un chemin qui n'existe pas est signalé comme manquant et n'est pas créé. C'est important parce que l'appel d'ouverture de SQLite crée lui-même le fichier qu'on lui donne : un chemin mal saisi laisserait sinon derrière lui une base de données vide égarée.

Exemples

Une base fraîchement créée, seules les tables de référence pré-remplies contiennent des lignes :

$ 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

Une base plus ancienne que ce que cette compilation comprend :

$ 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

Un chemin qui n'existe pas :

$ kent info nope.sqlite
kent info: nope.sqlite does not exist
$ echo $?
1

Voir aussi Rapport complet avec details et Messages d'erreur et codes de sortie.

Voir aussi