Sportarten mit sports auflisten
Vorläufige, ungeprüfte automatische Übersetzung. Im Zweifelsfall konsultieren Sie die englische Version, die als Referenzversion gilt.
kent sports listet die verschiedenen Kombinationen aus Sportart und Unterart
auf, die eine Datenbank enthält, je eine Zeile, nach Namen sortiert.
Der Befehl liest nur und meldet, was diese Datenbank tatsächlich enthält, nicht jede Sportart, die das Schema darstellen kann. Das Schema kennt Dutzende; eine Datenbank enthält meist ein oder zwei.
Übersicht
kent sports <dbfilename>
Was es anzeigt
$ kent sports mydata.sqlite
Database: mydata.sqlite
Sport Sub-sport
Running Generic
Eine Datenbank mit einer anderen Sportart meldet diese, und die Unterart ist oft die aussagekräftigere Hälfte:
$ kent sports swim.sqlite
Database: swim.sqlite
Sport Sub-sport
Swimming Lap Swimming
Kombinationen, nicht zwei getrennte Listen. Eine Datenbank mit Freiwasser- und Beckenschwimmen führt Swimming zweimal auf, einmal je Unterart, weil erst das Paar sie unterscheidet.
Wozu es dient
Er beantwortet schnell eine Frage: Was steckt in dieser Datenbank? Das rechtfertigt einen
eigenen Befehl, denn activities gibt jede Sitzung
aus, und eine Datenbank mit 300 Läufen braucht 300 Zeilen, um zu sagen, dass sie Läufe
enthält.
Er ist außerdem der ehrliche Weg, eine Datenbank zu prüfen, bevor man einen Bericht dagegen schreibt. Ein Skript, das eine Sportart voraussetzt, kann das zuerst testen.
Eine Datenbank ohne Sportarten
Eine angelegte, aber nie befüllte Datenbank gibt einen schlichten Satz aus und ist erfolgreich:
$ kent createdb mydata.sqlite
$ kent sports mydata.sqlite
Database: mydata.sqlite
No sports recorded.
$ echo $?
0
Ein nicht vorhandener Pfad wird als fehlend gemeldet und nicht angelegt:
$ kent sports nope.sqlite
kent sports: nope.sqlite does not exist
$ echo $?
1
Eine ältere Datenbank wird abgelehnt
Wie die übrigen lesenden Befehle liest auch dieser bestimmte benannte Spalten; eine ältere Datenbank als erwartet wird deshalb mit einer Erklärung abgelehnt:
$ 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
Was es nicht ist
sports zählt nichts. Es sagt nicht, wie viele Aktivitäten je Sportart es gibt
oder wann sie stattfanden. Dafür siehe
kent activities, das jede Sitzung mit Datum und
Sportart auflistet.