SuperAPI AI 工具集

android-room-database

数据与分析

查看项目

更新于 10-16 06:22

技能介绍

用途:在需求涉及 Room 数据库、DAO 查询迁移、Room Schema 导出时使用;核心产出是建模实体、DAO、事务、迁移、Schema 导出以及可测试的本地持久化方案。当难点在 schema 设计、DAO 查询、事务、迁移或 Room 测试时适用;若主要工作是响应式 API 迁移而非数据库契约本身,则交给 android-rxjava-to-coroutines-migration。范围扩大时可移交给 android-local-persistence-datastore、android-testing-unit。

工作流:先确定持久化契约,包括实体、键、索引、关系,以及数据是真实来源、缓存还是离线优先状态;显式建模 DAO 访问模式,涵盖事务边界、查询形态、分页与失效行为;在修改实体前规划 schema 演进,包括导出 Schema、迁移步骤、自动迁移资格与破坏性回退策略;用确定性测试验证迁移与查询行为,而非仅依赖 Room 注解;仅在 Room 边界正确后再移交 DataStore、同步或响应式 API 问题。

护栏:导出 Schema 并将其视为契约的一部分,而非可选工具噪音;实体保持面向持久化,映射到领域/UI 模型,不向上泄漏表结构;对必须保持一致的多步写入使用显式事务;在发布构建前用真实旧 Schema 测试迁移。

反模式:把 Room 实体当作应用各处的领域模型;编辑 Schema 却不导出或验证迁移路径;屏幕只需窄投影却写宽泛的 SELECT * 查询;把数据库、同步与响应式流迁移混为一个无差别任务。

审查重点:实体键、索引、关系与 Schema 归属;DAO 查询形态、事务与失效行为;迁移安全、Schema 导出与测试覆盖;Room 模型与更高层应用模型之间的清晰边界。

示例:正常路径为持久化任务项与提醒标志,命令 cd examples/orbittasks-compose && ./gradlew :app:testDebugUnitTest;边界情况为用显式迁移路径从失败的 Schema 变更中恢复,命令 python3 scripts/eval_triggers.py --skill android-room-database;失败恢复为让 Room 请求与 DataStore、网络和现代化提示保持分离,命令 cd examples/orbittasks-xml && ./gradlew :app:testDebugUnitTest。

完成清单:实体、DAO 与事务匹配真实持久化契约;Schema 导出与迁移策略明确;查询与迁移测试覆盖风险路径;非 Room 关注点被移交而非混入数据库任务。

限制:资料未提供收费、价格、平台支持范围或具体效果数据。