Knex 使用 Electron 和 sqlite 迁移?

Knex migrations with Electron and sqlite?

我正在使用 sqlite 作为我的数据库,用于一个用 electron 制作的离线应用程序。 为了创建数据库,我使用了 knex 迁移。 问题是,它会 运行 在开发中很好,我会迁移数据库并启动电子进程。

但是在为生产构建打包应用程序时,我需要在第一次启动时迁移到客户端计算机上的 运行。这样数据库就会被创建,当有应用程序更新时,新的迁移将使数据库保持更新。

对此合适的方法是什么。我如何 运行 应用程序上的迁移启动,或者我如何将迁移保留在捆绑包中。 app.asar 不就把所有的代码都保留了吗?迁移代码会是运行吗?

另外,数据库应该在客户端的什么地方创建?

如果你正在使用 electron builder 那么你可以将它添加到 electron-builder.json "extraFiles": "migrations/*", 其中 migrations 是您保存迁移的文件夹。

在 运行 上自动迁移 您可以添加以下代码 const client = knex(config[env]); client.migrate.latest(config);