我们正在启动房间自动迁移。.现在我们正在考虑是否可以从Relase apk中删除我们数据库版本生成的JSON文件?我问这个是因为我们有以前版本数据库结构,新版本有自己的数据库结构存储,我可以看到这些schema.jsnon文件只在编译时用来比较db模式的变化..一个建筑??问题是每个json文件几乎是70kb,如果有像100个版本,它的近7 mb..这是不接受从设计的Angular 来看,所有的数据是冗余的,所以这些shema. json文件应该通过apk发布?
我试图删除这些文件和生成一个构建,但这并没有发生,任何人都可以帮助我在这方面?
2条答案
按热度按时间vaj7vani1#
生成的json不会是生成的构建的一部分,但它们是生成apk所必需的。
6vl6ewon2#
在应用程序释放之前,我们应该删除房间迁移数据库生成的模式文件吗?
导出的模式不包括在apk中(我相信),而是从导出的模式生成的java是包的一部分。
这是编译迁移的大小影响apk的大小.因此,你可能希望考虑删除自动迁移.然而,如果应用程序被发布,那么你必须考虑谁可能在版本的吸收落后的观众.
是否可以删除它们将取决于项目所需的 * 版本范围**。
假设你有一个从1到4的应用程序,并且你可能在所有级别上都有应用程序的用户,那么你可能想要自动迁移:
在这种情况下,版本范围将从1到4,因此您需要模式的所有4个版本,否则编译将失败。
以下是上面的截图BUT1.json已被有效删除(重命名),然后重新编译:
x1c 0d1x的数据
另一个考虑是导出的模式可能很有用,因为它可以用于确定模式,甚至可以用于构建任何版本的空数据库。
重新引入(将xxx1.json重命名为1.json)和:-
的
为了进一步说明,在下面使用版本1的自动迁移(1到2,1到3和1到4)已被注解掉。此外,版本1的导出模式已被有效删除(重命名)。编译工作,因为它不需要使用版本1:-