在 Electron 中更改 PouchDB 目录
Change PouchDB directory in Electron
我想在我的 Electron 应用程序中更改 PouchDB 目录。当我更新我的应用程序(重新安装)时,我所有的数据都被销毁了。
所以,我想更改我的 PouchDB 目录,以便在我重新安装我的应用程序时不删除我的数据。
我的代码:
import PouchDB from 'pouchdb';
const Presentation = new PouchDB('~/test/db');
这return一个错误:
err {type: "OpenError", name: "OpenError", cause: Error: IO error:
~/test/db/LOCK: Aucun fichier ou dossier de ce type, message: "IO
error: ~/test/db/LOCK: Aucun fichier ou dossier de ce type", stack:
"OpenError: IO error: ~/test/db/LOCK: Aucun
fichier…es/abstract-leveldown/abstract-leveldown.js:39:16"}
有谁知道我如何更改我的目录或在我重新安装我的 Electron 应用程序时不删除我的数据?
感谢社区!
~ 是一个名为 "tilde expansion" 的 Bash 特征。它是shell的函数,electron无法处理它。请改用 new PouchDB('./test/db') 记录。
您可以使用 pouchdb-dump-cli package to export database dump and then import it using pouchdb-load 包。
发生 IO 错误是因为 pouch db 无法在指定位置创建文件夹。 Electron 应用程序通常需要在 appData + appName 位置存储配置、本地数据库文件。此位置具有对应用程序的完全访问权限。
const appName='<Electron App Name>'
const db = new PouchDB(
path.join(app.getPath('appData'), appName, "db")
);
参考:
我想在我的 Electron 应用程序中更改 PouchDB 目录。当我更新我的应用程序(重新安装)时,我所有的数据都被销毁了。
所以,我想更改我的 PouchDB 目录,以便在我重新安装我的应用程序时不删除我的数据。
我的代码:
import PouchDB from 'pouchdb';
const Presentation = new PouchDB('~/test/db');
这return一个错误:
err {type: "OpenError", name: "OpenError", cause: Error: IO error: ~/test/db/LOCK: Aucun fichier ou dossier de ce type, message: "IO error: ~/test/db/LOCK: Aucun fichier ou dossier de ce type", stack: "OpenError: IO error: ~/test/db/LOCK: Aucun fichier…es/abstract-leveldown/abstract-leveldown.js:39:16"}
有谁知道我如何更改我的目录或在我重新安装我的 Electron 应用程序时不删除我的数据?
感谢社区!
~ 是一个名为 "tilde expansion" 的 Bash 特征。它是shell的函数,electron无法处理它。请改用 new PouchDB('./test/db') 记录。
您可以使用 pouchdb-dump-cli package to export database dump and then import it using pouchdb-load 包。
发生 IO 错误是因为 pouch db 无法在指定位置创建文件夹。 Electron 应用程序通常需要在 appData + appName 位置存储配置、本地数据库文件。此位置具有对应用程序的完全访问权限。
const appName='<Electron App Name>'
const db = new PouchDB(
path.join(app.getPath('appData'), appName, "db")
);
参考: