将数据库存储/备份到一个文件中,IndexeDB、WebSQL和SQLlite的区别

Store/Backup Database into a file, differences of IndexeDB, WebSQL and SQLlite?

本文关键字:IndexeDB WebSQL 区别 SQLlite 文件 一个 备份 存储 数据库      更新时间:2023-09-26

我的问题是关于IndexedDBWebSQLSQLite。没有必要解释它们是不同的,我想知道的是:

做这三个"数据库解决方案";允许存储其所有数据到文件
(当然,要反其道而行之,请在给定备份文件的情况下初始化其所有数据?)
.

背景

由于我已经做了一些研究,部分回答了这个问题,请允许我提供这个问题的背景信息:

SQLite

它确实允许在文件中存储和检索数据库)
我已经用SQLite做了一些工作。为此,我知道它实际上会立即通过对文件的引用启动数据库。备份就是简单地复制文件。还原正在重写文件。

IndexedDB和WebSQL

据我所知,数据库解决方案;在浏览器的Javascript土地上生活";在那里,我们不太处理文件。以下是问题所在。如果我想将两个解决方案中的任何一个的数据导出到一个平面文件,或者说一个字符串变量表示,这可能吗?

这是一些我认为与之相关的SO问题:

  • SO问题:导出WebSQL数据
  • SO问题:导入和导出Indexeddb数据

这表明在IndexedDBWebSQL中都没有简单的CCD_ 1(存储数据库)方法和CCD_。这确实是真的(并在这里的回答中得到了肯定),而且这些数据库的备份和检索并不容易,这将是非常可悲的,我认为这是一个差距。数据库没有备份功能,真的吗?!

目前,没有办法备份和恢复Browser数据库。实现这一点的唯一方法是不断将后端数据库与浏览器数据库同步,从而跟踪浏览器上生成的数据的变化。

无论合适与否,老家伙都会按照老办法行事。浏览器数据库究竟需要备份。客户端中的数据只是服务器数据片的缓存副本。没有必要回来。如果你认为IndexedDB(或web sql数据库)数据是持久的,你会很高兴知道,Indexed数据库数据属于浏览器数据的一个临时类,这意味着UA可以在不提示用户或应用程序的情况下自行删除数据。

如果您的应用程序处理浏览器数据多于缓存副本,则说明您做错了。