从电子应用程序内部导出 sqlite3 db 文件。这可能吗?
Exporting sqlite3 db file from inside electron app. Is this possible?
我在 Electron 中安装了一个应用程序,它使用 sqlite3
保存数据。一切都按预期工作。我希望能够 export/save 实际的数据库文件,这样我就可以与其他人共享它,将其视为保存文件。
我假设如果可能的话,我也需要使用 fs
,这很好。
更好的是,我可以从一开始就在编译的应用程序之外创建数据库文件吗?如果是这样,实现该目标的最佳方法是什么?
否则我可以切换到 kripken/sql.js
或类似的东西,但如果有一种简单的方法可以保存现有的 sqlite 数据库文件,我宁愿不花时间进行这些更改应用程序外的用户计算机。
我是个白痴
而不是像这样将文件内部存储在打包的应用程序中……
const dbPath = path.resolve(__dirname, 'data.db')
…我只是像这样将它存储在文件系统中…
const {app} = require('electron').remote;
const dbPath = path.resolve(app.getPath('userData'), 'data.db');
...以便从一开始就可以访问它。
我把这个问题留了下来,因为如果有一种方法可以为打包应用程序中的现存文件提供保存文件对话框,我会很感兴趣,但与此同时,这就是我的答案。
我在 Electron 中安装了一个应用程序,它使用 sqlite3
保存数据。一切都按预期工作。我希望能够 export/save 实际的数据库文件,这样我就可以与其他人共享它,将其视为保存文件。
我假设如果可能的话,我也需要使用 fs
,这很好。
更好的是,我可以从一开始就在编译的应用程序之外创建数据库文件吗?如果是这样,实现该目标的最佳方法是什么?
否则我可以切换到 kripken/sql.js
或类似的东西,但如果有一种简单的方法可以保存现有的 sqlite 数据库文件,我宁愿不花时间进行这些更改应用程序外的用户计算机。
我是个白痴
而不是像这样将文件内部存储在打包的应用程序中……
const dbPath = path.resolve(__dirname, 'data.db')
…我只是像这样将它存储在文件系统中…
const {app} = require('electron').remote;
const dbPath = path.resolve(app.getPath('userData'), 'data.db');
...以便从一开始就可以访问它。
我把这个问题留了下来,因为如果有一种方法可以为打包应用程序中的现存文件提供保存文件对话框,我会很感兴趣,但与此同时,这就是我的答案。