Relatar um banco de dados com info

Tradução automática provisória, não revisada. Em caso de dúvida, consulte a versão em inglês, que é a versão de referência.

O kent info relata o que um banco de dados Cordelia existente contém: sua versão de esquema, a versão de esquema que esta compilação do Kent espera e a contagem de linhas de cada tabela que contém pelo menos uma linha.

Ele é somente leitura. O kent info abre o banco de dados e não grava nada nele.

Sinopse

kent info <dbfilename>

Só as tabelas populadas são listadas

Um banco de dados Cordelia tem cerca de 129 tabelas, a maioria vazia até que atividades sejam importadas; listar todas soterraria as que importam. Use kent details para ver todas as tabelas, inclusive as vazias.

As tabelas de referência e de consulta não recebem tratamento especial. FileTypeLookup, FieldTypeLookup e as tabelas better_labels_* são pré-preenchidas quando um banco de dados é criado, portanto contêm linhas e são listadas como qualquer outra tabela populada. Em um banco de dados criado pelo kent createdb e nunca importado, essas tabelas pré-preenchidas são a única coisa que o kent info relata. Isso é o esperado, não uma falha.

Duas versões de esquema são sempre mostradas

As duas são impressas porque podem legitimamente diferir em um banco de dados que abre com sucesso:

Um banco de dados gravado por um Cordelia mais novo abre normalmente e informa sua própria versão superior. Um banco de dados gravado por um Cordelia mais antigo é recusado de imediato (a camada de banco de dados do Cordelia o rejeita na abertura, em vez de deixar a divergência aparecer depois como linhas ilegíveis) então o kent info imprime essa recusa e sai com 1. No momento não há como migrar um banco de dados antigo.

Um caminho inexistente não é criado

Um caminho que não existe é relatado como ausente e não é criado. Isso importa porque a própria chamada de abertura do SQLite cria o arquivo que recebe, de modo que um caminho digitado errado deixaria para trás um banco de dados vazio perdido.

Exemplos

Um banco de dados recém-criado, só as tabelas de referência pré-preenchidas contêm linhas:

$ 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

Um banco de dados mais antigo do que esta compilação entende:

$ 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

Um caminho que não existe:

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

Veja também Relatório completo com details e Mensagens de erro e códigos de saída.

Veja também