5

我有一个带有 serverless-webpack 的无服务器框架项目。Webpack 很好地捆绑了应用程序本身。

我已经设置了 lambdas 以在更新后尝试迁移,如链接的博客文章中所述:https ://spin.atomicobject.com/2018/01/06/database-migration-aws-lambda/

代码在 ES6 中,无服务器框架通过 webpack babel-loader 运行它。我还设置了 webpack,通过将迁移文件复制到正确的文件夹来将迁移文件包含在包中:

plugins: [
    new CopyWebpackPlugin([{ from: './src/migrations/*.js', to: '' }], {}),
]

当我将文件放在正确的文件夹中以便找到它们时,我收到此错误:

Error running migrations: Error: Cannot find module '.../.webpack/service/src/migrations/20180512154816_create-parameters.js'

我试图将迁移文件夹作为依赖项包含到 package.json 中(迁移:'./src/migrations')。我试图要求调用 withDB 函数的文件中的所有文件,仍然是同样的错误。

迁移文件包含向上和向下导出:

exports.up = function (knex, Promise) {
  ..
};

exports.down = function (knex, Promise) {
  ..
};

问题是我可以创建一个可以随无服务器部署一起发布的模块,以便 knex 能够找到这些模块。

通过创建一个 index.js 文件到以某种方式导出所有迁移的迁移文件夹?require('./migration-file.js') 不起作用。

4

0 回答 0