在cordova中更新时删除预先填充的sqlite数据库

时间:2016-06-23 15:34:42

标签: android sqlite cordova cordova-plugins

我已经完成了包含预先填充的sqlite数据库的项目。

我找到了this插件,它很适合我。 Lifehelper的产品确实非常出色,并且保存了非常好的文档。

但是,当我打开数据库时,我使用这种格式建议他们的文档预先填充数据库。

SELECT CONVERT(VARCHAR(24), GETDATE(), 113)

但是,我的数据库仅供参考。应用程序仅从预先填充的数据库中读取数据。没有任何插入,更新或删除查询以保留每个用户信息。

在每个新版本中,预先填充的数据都可以修改,由我更新。因此,当用户更新他们的应用程序时,我需要全新的应用程序安装以及新数据库。

但遗憾的是,我的应用无法删除以前的数据库。更改版本代码也无法正常工作。

有人建议我,它是关于我用来打开数据库的位置。但我无法理解应如何处理它。

帮助我,最好的答案对我来说更重要。感谢。

1 个答案:

答案 0 :(得分:2)

为避免增加应用尺寸,您可以执行以下操作:

function cleanupDatabases() {
  var oldDatabases = ["2.1.0.db", "2.0.0.db"];

  if (window.sqlitePlugin !== undefined) {
    angular.forEach(oldDatabases, function(db) {
      window.sqlitePlugin.deleteDatabase({
        name: db,
        location: 2
      }, function() {
        console.log("%c " + db + " is deleted", "background: green; color: white");
      }, function(error) {
        console.log("%c " + db + " could not be deleted", "background: red; color: white", error);
      });
    });
  }
};