gpt4 book ai didi

android - 当在房间数据库中添加新表时,从版本 1 到版本 2

转载 作者:搜寻专家 更新时间:2023-11-01 09:28:45 25 4
gpt4 key购买 nike

我正在使用 android 发布的 Room Persistance 库作为 SQLite 数据库的替代品。

我目前在带有 SQLite 数据库的 Playstore 上安装了 Android 应用程序,在将应用程序从 SQLite 迁移到 Room 时,我遇到了几个错误。

首先

如果我创建新表,我需要编写迁移脚本吗?每次升级房间版本都需要在房间里写迁移查询吗?

第二

我在 Playstore 上的数据库版本为 20,当我将其升级到 21 时。我需要编写从 1 到 20 和 20 到 21 的迁移脚本,还是只需要从 20 到 21。

因为我不知道用户有什么应用程序数据库版本(生产应用程序),它可以是 10、12、15。迁移脚本将如何?

谢谢。

最佳答案

  1. 每次添加表(或进行任何架构更改)时,您都需要 a) 添加迁移或 b) 调用 .fallbackToDestructiveMigration() 仅当您不关心时关于保留数据。查看https://medium.com/google-developers/understanding-migrations-with-room-f01e04b07929了解更多。

  2. 您需要为您的用户可能使用的每个数据库编写一个迁移脚本,以将它们升级到 21(同样,除非您不关心持久数据,在这种情况下您可以使用 .fallbackToDestructiveMigration())。上面的链接也应该解决这个问题。

希望这对您有所帮助!

关于android - 当在房间数据库中添加新表时,从版本 1 到版本 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48933002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com