我的问题是 IndexedDB 与 WebSQL 与 SQLite 。没有必要解释它们是不同的,我想知道的是:
这三个“数据库解决方案”是否允许存储其所有数据
到文件?
(当然要反过来,在给定备份文件的情况下初始化所有数据?)
由于我已经做了一些部分回答这个问题的研究,请允许我提供这个问题的背景信息:
(是它确实允许存储和从文件中检索数据库)
我已经用SQLite做了一些工作。为此,我知道它实际上立即通过对文件的引用启动数据库。备份很简单,复制文件。恢复正在重写文件。
??? 我理解的数据库解决方案“生活在浏览器的Javascript中生活”并且我们对文件没有多少处理。这是问题所在的一部分。如果我想将数据从两个解决方案中的任何一个导出到一个平面文件或者说一个字符串变量表示,那么这可能吗?
这是我认为与之相关的一些问题:
表示在 IndexedDB 和 WebSQL 中没有简单的toString()
(存储数据库)方法和FromSting()
。
这确实是真的(并且在这里得到了答案)并且对于那些数据库没有简单的备份和检索,这将是非常悲伤的,我认为存在差距。没有备份功能的数据库真的吗?!
答案 0 :(得分:1)
目前,无法备份和还原浏览器数据库。实现这一目标的唯一方法是不断将后端数据库与浏览器数据库同步,从而跟踪浏览器生成的数据的变化。
答案 1 :(得分:0)
老家伙会以旧的方式做,无论是否适当。实际上,浏览器数据库需要备份。客户端中的数据只是一片服务器数据的缓存副本。没有必要回来。如果您认为IndexedDB(或Web sql数据库)数据是持久的,您将很高兴知道,IndexedDB数据属于temporary class浏览器数据,这意味着UA可以自行删除数据,而不会提示用户或应用程序
如果您的应用程序处理的浏览器数据超过缓存副本,则说明您的错误。