加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用Sqlite.net Pcl升级数据库,用于Xamarin android

发布时间:2020-12-12 19:01:01 所属栏目:百科 来源:网络整理
导读:我有一个问题,当我发布我的应用程序的新版本时,如果我向我的一个db表添加一个新列,数据库不会更新.如果有新列或新表,任何人都知道如何创建升级版本的脚本? 谢谢 解决方法 你必须记住CreateTable它已经为你做了更新列,因为它在内部调用了一个名为MigrateTabl
我有一个问题,当我发布我的应用程序的新版本时,如果我向我的一个db表添加一个新列,数据库不会更新.如果有新列或新表,任何人都知道如何创建升级版本的脚本?

谢谢

解决方法

你必须记住CreateTable它已经为你做了更新列,因为它在内部调用了一个名为MigrateTable的方法,你可以在这里看到这个方法以便进一步说明: https://github.com/praeclarum/sqlite-net/blob/master/src/SQLite.cs#L562.

但是,您可能必须处理对数据库的更高级修改,例如添加触发器或类似的东西.
在这种情况下,我建议您手动执行修改.

在Xamarin Forms中我最终得到了这个:
https://gist.github.com/matpag/b2545cc22c8e22449cd7eaf6b4910396

可能不是有史以来最好的策略,但似乎对我有用.

总结:您必须将数据库版本保存在SQlite数据库的内部标志中,该标志名为user_version,可通过PRAGMA关键字访问.每次获得数据库连接时,都必须执行检查并查看当前数据库版本是否与应用程序最后一个数据库版本相同.如果不是,则需要执行数据库更新并设置新的当前版本.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读