更新数据库并删除旧的

Posted

技术标签:

【中文标题】更新数据库并删除旧的【英文标题】:Update the database and delete the old one 【发布时间】:2021-10-07 05:14:30 【问题描述】:

如果你已经用内部的 SQLite 数据库更新了应用程序,并添加了一个在删除应用程序数据和缓存之前不会出现的表,我希望它自动执行此操作

【问题讨论】:

我的数据库是只读的,不能写 我找到了一些解决方案,但是当我更改数据库并通过模拟器运行应用程序时,它并没有删除旧数据库 【参考方案1】:

请提供有关您的主题的更多信息,以便我们更有效地帮助您。

首先:如果您想以编程方式卸载和安装应用程序,您可以通过获取

<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />

许可,然后要求用户卸载您的应用。之后,您可以使用PackageManager 以编程方式安装新应用程序。仅当您不删除用于控制任何下载的应用时,这才有意义。

第二: 您可以在不卸载应用程序的情况下更新 SQLiteDb。有一个名为 DROP TABLE IF EXISTSCREATE TABLE 的 SQL 函数,您可以在应用程序运行时影响您的数据库。如果需要重新启动,您可以使用 processPhoenix 库。

【讨论】:

以上是关于更新数据库并删除旧的的主要内容,如果未能解决你的问题,请参考以下文章

应用更新 CoreData 保存了吗?

仅更新 JSON 对象的一个​​值并使用 React Flux 保留旧的值

Spring Boot Elasticsearch7.6.2实现创建索引删除索引判断索引是否存在获取/添加/删除/更新索引别名单条/批量插入单条/批量更新删除数据递归统计ES聚合的数据

Flutter 在更新时删除 Hive 数据库

更新时删除旧的friendly_id gem slug [关闭]

为啥我的 iPhone 应用程序包在更新期间没有替换旧的应用程序包?