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:
- Versión de esquema: la que almacena este archivo de base de datos.
- Esperada por esta compilación: la que escribe la versión de Cordelia contra la que se compiló Kent.
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.