这个项目能做什么

SQLite Loom 是一个构建在 sqflite_common 之上的响应式 SQLite 层,适用于 Dart 和 Flutter 应用程序。它为数据库操作提供了类型化接口,无需代码生成、注解或 build runner。 核心能力包括: - 类型化表与查询:支持列的类型化值,以及用于组合过滤器、排序和分页的不可变查询。 - 响应式读取:提供实时流以监听列表、计数和数据的存在情况,并具备事务感知的失效机制。 - 安全写入:实现受保护的写入,除非通过 allRows() 明确请求,否则未过滤的更新和删除将失败。 - 显式迁移:包含一个可以通过提供的 CLI 或在启动时通过编程方式管理的迁移系统。 - 关系管理:支持一对一、一对多和多对一关系的显式描述符,包括用于防止 N+1 查询模式的批量加载。 - 高级 SQLite 支持:集成 SQLite 特性,如 WAL 模式、外键、RETURNING 子句和 strict tables。 - 诊断:包含用于监控查询时长和结果计数的 DbObserver,以及用于完整性检查和 vacuuming 的工具。