Como, de forma confiável , verifico no SQLite se existe uma tabela de usuário específica?
Não estou pedindo formas não confiáveis, como verificar se um "select *" na tabela retornou um erro ou não (isso é uma boa idéia?).
O motivo é o seguinte:
No meu programa, preciso criar e preencher algumas tabelas se elas ainda não existirem.
Se eles já existirem, preciso atualizar algumas tabelas.
Em vez disso, devo seguir outro caminho para sinalizar que as tabelas em questão já foram criadas - por exemplo, criando / colocando / definindo um determinado sinalizador no meu arquivo de inicialização / configurações do programa no disco ou algo assim?
Ou minha abordagem faz sentido?
sqlite3.OperationalError
, você deve analisar a mensagem de erro para garantir que seja, por exemplo, a mensagem "table TABLE_NAME já existe" ao criar uma tabela e, se não, reraise o erro e acho que não há garantia de que o fraseado do erro não seja alterado.