Android之实现Room升级需要给一个表增加一个字段

举报
chenyu 发表于 2021/07/26 22:48:19 2021/07/26
2.8k+ 0 0
【摘要】 1、需求 实现Room升级需要给一个表增加一个字段。                         2、Room升级介绍 Room 持久化库中通过使用 Migration 类保存用户数据。每个 Migration 类指定起始版...

1、需求

实现Room升级需要给一个表增加一个字段。

2、Room升级介绍

Room 持久化库中通过使用 Migration 类保存用户数据。每个 Migration 类指定起始版本和结束版本。在运行时,Room 运行每个 Migration 类的 migrate() 方法,使用正确的顺序将数据库迁移到后面的版本

1、Android提供了一个名为Migration的类,完成Room的升级

public Migration(int startVersion, int endVersion)
 

2、Migration两个参数,startVersion和endVersion。startVersion表示当前版本(手机上安装的版本),endVersion表示将要升级到的版本。如果你的手机中的应用程序数据库的版本为1,那么下方Migration会将你的数据库版本从1升级到2


      private val migration_1_to_2 = object : Migration(1, 2) {
      override fun migrate(database: SupportSQLiteDatabase) {
       }
       }
  
 

如果你的数据库需要从2升级到3,则需要写这样一个Migration


      private val migration_2_to_3 = object : Migration(2, 3) {
       override fun migrate(dat
  
 

文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。

原文链接:chenyu.blog.csdn.net/article/details/115058166

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。