Sobre o projeto

SQLite Loom é uma camada SQLite reativa construída sobre o sqflite_common para aplicações Dart e Flutter. Ela fornece uma interface tipada para operações de banco de dados sem a necessidade de geração de código, anotações ou build runners. As principais capacidades incluem: - Tabelas e Consultas Tipadas: Suporta valores tipados para colunas e consultas imutáveis para compor filtros, ordenação e paginação. - Leituras Reativas: Fornece streams ao vivo para monitorar listas, contagens e a existência de dados, com invalidações cientes de transações. - Gravações Seguras: Implementa gravações protegidas onde atualizações e exclusões não filtradas falham, a menos que sejam explicitamente solicitadas via allRows(). - Migrações Explícitas: Inclui um sistema de migração que pode ser gerenciado via CLI fornecida ou programaticamente na inicialização. - Gerenciamento de Relacionamentos: Suporta descritores explícitos para relacionamentos um-para-um, um-para-muitos e muitos-para-um, incluindo carregamento em lote para evitar padrões de consulta N+1. - Suporte Avançado ao SQLite: Integra-se com recursos do SQLite, como modo WAL, chaves estrangeiras, cláusulas RETURNING e tabelas strict. - Diagnósticos: Inclui um DbObserver para monitorar a duração das consultas e a contagem de resultados, bem como ferramentas para verificações de integridade e vacuuming.