I’m using Aurora DB and sequelize ORM library to work with it.
The credentials to access DB is stored in env.yml file which is included in serverless.yml
like this:
environment: ${file(env.yml):${self:provider.stage}}
lambdas work fine in this way. But we also have few scripts in package.json
to manage our BD migrations:
"scripts": {
"migrate": "sequelize db:migrate",
"unmigrate": "sequelize db:migrate:undo",
"unmigrate:all": "sequelize db:migrate:undo:all",
"seed": "sequelize --models-path src/models db:seed:all --debug",
},
the problem is that when you run sequelize migrations locally, it requires a config.js file with connection parameters while I keep them in yml file.
Currently I see two way to fix this embarrassment:
- to create a lambdas that will run those npm commands using DB creds from serverless.yml
- to create a script that will get creds from serverless.yml and run migration with those creds
So how good/bad to have lambdas for such a maintain purposes?