i'm using nestjs/sequelize/postgres i initiated my db and passed it as provider to my database module,i explicitly supplied dialect and used
NODE_ENV= development
in my .env file,but i still get the same error
dotenv.config();
export const databaseProviders = [{
provide: "SEQUELIZE",
useFactory: async () => {
let config;
switch (process.env.NODE_ENV) {
case development:
config = databaseConfig.development;
break;
case TEST:
config = databaseConfig.test;
break;
case PRODUCTION:
config = databaseConfig.production;
break;
default:
config = databaseConfig.development;
}
const sequelize = new Sequelize(config);
sequelize.addModels([foo,bar]);
await sequelize.sync();
return sequelize;
},
}];
and i'm reading my configs from .env file :
export const databaseConfig: IDatabaseConfig = {
development: {
username: process.env.DB_USER,
password: process.env.DB_PASS,
database: process.env.DB_NAME_DEVELOPMENT,
host: process.env.DB_HOST,
port: process.env.DB_PORT,
dialect: process.env.DB_DIALECT,
},
test: {
username: process.env.DB_USER,
password: process.env.DB_PASS,
database: process.env.DB_NAME_TEST,
host: process.env.DB_HOST,
port: process.env.DB_PORT,
dialect: process.env.DB_DIALECT,
},
production: {
username: process.env.DB_USER,
password: process.env.DB_PASS,
database: process.env.DB_NAME_PRODUCTION,
host: process.env.DB_HOST,
dialect: process.env.DB_DIALECT,
},
};
.env file :
NODE_ENV= development
DB_HOST=localhost
DB_PORT=5432
DB_USER=user
DB_PASS=pass
DB_DIALECT=postgres
DB_NAME_TEST=test_database_name
DB_NAME_DEVELOPMENT=development_database_name
DB_NAME_PRODUCTION=production_database_name