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:
- Versão do esquema: o que este arquivo de banco de dados armazena.
- Esperada por esta compilação, o que a versão do Cordelia contra a qual o Kent foi compilado grava.
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.