Listar los deportes con sports

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 sports lista las combinaciones distintas de deporte y subdeporte que contiene una base de datos, una fila cada una, ordenadas por nombre.

Es de solo lectura e informa de lo que esta base contiene realmente, no de todos los deportes que el esquema puede representar. El esquema describe docenas; una base suele contener uno o dos.

Sinopsis

kent sports <dbfilename>

Qué muestra

$ kent sports mydata.sqlite
Database:  mydata.sqlite

Sport    Sub-sport
Running  Generic

Una base de otro deporte informa de ese deporte, y el subdeporte suele ser la mitad más informativa:

$ kent sports swim.sqlite
Database:  swim.sqlite

Sport     Sub-sport
Swimming  Lap Swimming

Combinaciones, no dos listas separadas. Una base con natación en aguas abiertas y en piscina lista Swimming dos veces, una por subdeporte, porque es el par lo que las distingue.

Para qué sirve

Responde rápido a una pregunta: ¿qué hay en esta base? Eso merece un comando propio, porque activities imprime todas las sesiones, y una base con 300 carreras necesita 300 filas para decirle que contiene carrera.

También es la forma honesta de comprobar una base antes de escribir un informe sobre ella. Un script que dé por supuesto un solo deporte puede comprobarlo primero.

Una base de datos sin deportes

Una base creada pero en la que nunca se importó nada imprime una frase sencilla y termina bien:

$ kent createdb mydata.sqlite
$ kent sports mydata.sqlite
Database:  mydata.sqlite

No sports recorded.
$ echo $?
0

Una ruta que no existe se informa como ausente y no se crea:

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

Una base de datos más antigua se rechaza

Como los demás comandos de lectura, este lee columnas concretas por nombre, así que una base más antigua de lo que espera esta compilación se rechaza con una explicación:

$ kent sports old.sqlite
kent sports: this database reports schema version 1, older than the version 2 this build of cordelia expects. Use `kent sqldump` to export it instead
$ echo $?
1

Lo que no es

sports no cuenta nada. No dice cuántas actividades tiene cada deporte ni cuándo ocurrieron. Para eso, véase kent activities, que lista cada sesión con sus fechas y su deporte.

Véase también