Minha dúvida é a seguinte: toda vez que é chamada a função onCreate do database para pegar o caminho do mesmo, por debaixo dos panos, é criado a mesma estrutura do banco de dados (tabelas e etc..) toda vez que o app é aberto?
Minha dúvida é a seguinte: toda vez que é chamada a função onCreate do database para pegar o caminho do mesmo, por debaixo dos panos, é criado a mesma estrutura do banco de dados (tabelas e etc..) toda vez que o app é aberto?
Bom dia Fabrício, tudo bom?
Desculpe a demora em responder, vamos lá:
Quando usamos a função onCreate ela vem do nosso pacote sqflite, se dermos uma olhada lá no arquivo sqflte.dart ( para isso basta abrir o IntelliJ e clicar no onCreate e apertar Ctrl+Alt+B ).
Lá podemos ver que a função onCreate só é chamada quando o banco de dados está em branco!
/// [onCreate] is called if the database did not exist prior to calling
/// [openDatabase]. You can use the opportunity to create the required tables
/// in the database according to your schema
Ou seja ele só chama a função onCreate se o seu aparelho (ou emulador) não possui nenhum banco de dados salvo no local onde foi pedido.
Espero ter ajudado :3