I am trying to retrieve creds and configure in this 2 ways but its not working.
Now getting any logs from this when I run the lambda!
import * as seq from 'sequelize';
import { retriveCredentials } from '../secretManager/retrieveSecret';
export const sequelizeConnector = new seq.Sequelize(
process.env.DATABASE_NAME as string,
process.env.DATABASE_USER as string,
process.env.DATABASE_PASSWORD,
{
host: process.env.DATABASE_HOST,
dialect: 'postgres', // it actually takes type as dialect
hooks: {
//not working
beforeConnect: (config) => {
console.log('Init .. .. .', config);
retriveCredentials(process.env.RDS_SECRET_NAME!).then((secrets) => {
console.log('Creds: ', secrets);
config.username = secrets.username;
config.password = secrets.password;
config.host = secrets.host;
config.port = secrets.port;
});
},
},
},
);
// not working
// gives this error: Property 'beforeConnect' does not exist on type 'Sequelize'. Did you mean to access the static member Sequelize.beforeConnect' instead?
sequelizeConnector.beforeConnect(async (config: any) => {
console.log('Init .. .. .', config);
const credentials = await retriveCredentials(process.env.RDS_SECRET_NAME!);
console.log('Creds: ', credentials);
});
I am trying to connect to RDS PostgreSQL using sequelize connecter, retrieving credentials from secret manager. But beforeConnect hook is not getting executed.
I have “sequelize”: “^6.37.3” in package.json.
Tried referring to some of the questions from the stackoverflow but not able to get through this.
Thanks in advance!
Recognized by AWS
2