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

前端之家收集整理的这篇文章主要介绍了使用Sqlite.net Pcl升级数据库,用于Xamarin android前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个问题,当我发布我的应用程序的新版本时,如果我向我的一个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关键字访问.每次获得数据库连接时,都必须执行检查并查看当前数据库版本是否与应用程序最后一个数据库版本相同.如果不是,则需要执行数据库更新并设置新的当前版本.

猜你在找的Sqlite相关文章