使用Electron和sqlite进行Knex迁移?

时间:2018-03-13 14:25:59

标签: reactjs sqlite electron offline knex.js

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

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

适当的方法是什么?如何在应用启动时运行迁移,或者如何在捆绑中保留迁移。 不知道所有代码都保存在app.asar中?迁移代码是否会从那里运行?

此外,应在客户端计算机中创建数据库的位置?

1 个答案:

答案 0 :(得分:0)

如果您正在使用电子生成器,则可以将其添加到电子生成器.json "extraFiles": "migrations/*", ,其中 migrations 是保存迁移的文件夹。

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