У меня есть проект Serverless framework с serverless-webpack. Webpack прекрасно связывает само приложение.
Я настроил лямбды, чтобы попробовать миграцию после обновления, как описано в связанном сообщении блога: https://spin.atomicobject.com/2018/01/06/database-migration-aws-lambda/
Код находится на ES6, и бессерверная фреймворк запускает его через 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') не работал.





У меня такая же проблема, уже какое-то время пытаюсь ее исправить. Вы когда-нибудь находили решение?