请注意,我来自于一个熟悉Entity Framework的.NET背景。
在EF迁移中,实际的迁移是为您生成的。基本上,您在POCO对象中指定要进行的更改。当您添加新的迁移时,它会对数据库和POCO对象之间的差异进行比较,并生成迁移脚本。您几乎不必查看它。
因此,使用Android Room时,我发现我需要手动创建这些迁移。而且,有一些规则意味着除非迁移您手动制作的方案完全符合Room基于POJO对象认为应该达到的状态,否则系统将崩溃。
对我来说,这似乎是一项繁琐而有风险的任务,可以自动化(就像EF迁移已经做的那样)。因此,我的问题是,是否有工具或其他东西可以自动执行这些迁移?如果没有,有哪些安全或高效地执行这些迁移的指导方针?
在EF迁移中,实际的迁移是为您生成的。基本上,您在POCO对象中指定要进行的更改。当您添加新的迁移时,它会对数据库和POCO对象之间的差异进行比较,并生成迁移脚本。您几乎不必查看它。
因此,使用Android Room时,我发现我需要手动创建这些迁移。而且,有一些规则意味着除非迁移您手动制作的方案完全符合Room基于POJO对象认为应该达到的状态,否则系统将崩溃。
对我来说,这似乎是一项繁琐而有风险的任务,可以自动化(就像EF迁移已经做的那样)。因此,我的问题是,是否有工具或其他东西可以自动执行这些迁移?如果没有,有哪些安全或高效地执行这些迁移的指导方针?
@Database
注释中确保exportSchema = true
(默认为true),否则将不会生成JSON文件。 - Tim Malseed