如何导出(转储)WebSQL 数据
我正在开发一个使用 WebSQL 来存储历史数据的 Chrome 扩展。 作为WebSQL,数据库存储在客户端。
我想添加一个选项来导出/导入此类数据,以便用户可以与其他用户或其他电脑共享/使用这些数据。
这是我在纯客户端数据库上的第一步,所以我想知道如何做到这一点。 我正在考虑将数据库转换为一个巨大的 json
字符串,用户可以复制/粘贴,但看起来不太用户友好。
还有更好的解决办法吗?
I'm working on a Chrome Extension that uses WebSQL to store historical data.
Being WebSQL, the DB is stored on the client.
I'd like to add an option to export/import such data so that the user can share/use this data with other users, or with other PCs.
These are my first steps on a client-only database, so I wonder how to do this.
I was thinking to convert the DB to a huge json
string that the user can copy/paste but doesn't look very user-friendly.
Is there any better solution?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我在 HTML5 数据库客户端 上运行了一个单表转储解决方案,我写了一些几天前。
查看 http://html5db.desalasworks.com/script.js 并向下滚动到 SqlClient .exportTable,这有一个需要扩展以覆盖整个数据库的示例。
步骤如下:
步骤 1:创建模式:
步骤 2:获取表列表:
步骤 3:循环遍历每个表并使用结果创建一个 INSERT 脚本
希望这很有用。
2016 年 1 月更新 - 全数据库导出
我有一个 JS websqldump 库,您也可以从 github 下载。
这将导出整个数据库。查看代码:
https://github.com/sdesalas/websqldump
用法如下
I got a single table dump solution working on a HTML5 database client I wrote a few days ago.
Check out http://html5db.desalasworks.com/script.js and scroll down to SqlClient.exportTable, this has an example that needs to be expanded to cover the whole database.
The steps are:
Step 1: Create the schema:
Step 2: Get a list of tables:
Step 3: Loop through each of them and create an INSERT script with the results
Hope this is useful.
UPDATE JAN 2016 - WHOLE DB EXPORT
I've got a JS websqldump library that you can download from github as well.
This one will export the whole database. Check out the code on:
https://github.com/sdesalas/websqldump
Usage as follows
不是最优雅的方式,但却是最方便的。
只需将脚本粘贴到 Chrome 调试器工具中,然后调用 c(),您就应该获取该文件。
另一个将其导出为 JSON 的版本
Not the most elegant way, yet most convenient.
Just paste the script in chrome debugger tools then call c(), and you should get the file.
Another version that exports it as JSON