Informar sobre una base de datos con info

Traducción automática provisional, sin revisar. En caso de duda, consulte la versión en inglés, que es la versión de referencia.

kent info informa de lo que contiene una base de datos Cordelia existente: su versión de esquema, la versión de esquema que espera esta compilación de Kent, y el número de filas de cada tabla que contiene al menos una fila.

Es de solo lectura. kent info abre la base de datos y no escribe nada en ella.

Sinopsis

kent info <dbfilename>

Solo se listan las tablas con filas

Una base de datos Cordelia tiene unas 129 tablas, la mayoría vacías hasta que se importan actividades; listarlas todas sepultaría las que importan. Use kent details para ver todas las tablas, incluidas las vacías.

Las tablas de referencia y de consulta no reciben trato especial. FileTypeLookup, FieldTypeLookup y las tablas better_labels_* se rellenan previamente al crear una base de datos, así que contienen filas y se listan como cualquier otra tabla poblada. En una base de datos creada con kent createdb y en la que nunca se ha importado nada, esas tablas precargadas son lo único que informa kent info: eso es lo esperado, no un fallo.

Siempre se muestran dos versiones de esquema

Se imprimen ambas porque pueden diferir legítimamente en una base de datos que se abre correctamente:

Una base de datos escrita por una Cordelia más nueva se abre con normalidad e informa de su propia versión superior. Una base de datos escrita por una Cordelia más antigua se rechaza de plano (la capa de base de datos de Cordelia la rechaza al abrirla, en lugar de dejar que el desajuste aflore después como filas ilegibles) así que kent info imprime ese rechazo y sale con 1. Actualmente no hay forma de migrar una base de datos antigua.

Una ruta inexistente no se crea

Una ruta que no existe se informa como ausente y no se crea. Esto importa porque la propia llamada de apertura de SQLite crea el archivo que se le indica, de modo que una ruta mal escrita dejaría si no una base de datos vacía perdida por ahí.

Ejemplos

Una base de datos recién creada: solo las tablas de referencia precargadas contienen filas:

$ 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

Una base de datos más antigua de lo que entiende esta compilación:

$ 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

Una ruta que no existe:

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

Véase también Informe completo con details y Mensajes de error y códigos de salida.

Véase también