mirror of
https://github.com/rgrgogu/new_starr.git
synced 2026-09-27 00:12:54 +08:00
46 lines
1.7 KiB
JavaScript
46 lines
1.7 KiB
JavaScript
/***********************************************************************************************************************************************************************
|
|
* File Name: db.config.js
|
|
* Type of Program: Configuration
|
|
* Description: Sequelize PostgreSQL connection instance.
|
|
* Reads credentials from environment variables and exposes a single
|
|
* authenticated Sequelize instance used across all models.
|
|
* Author: rgrgogu
|
|
* Date Created: Oct. 6, 2025
|
|
***********************************************************************************************************************************************************************
|
|
* HOW TO USE:
|
|
* const sequelize = require('./config/db.config');
|
|
* // Then use sequelize.define() or import your models directly.
|
|
***********************************************************************************************************************************************************************/
|
|
require('dotenv').config();
|
|
const { Sequelize } = require('sequelize');
|
|
|
|
const useSSL = process.env.DB_SSL !== 'false';
|
|
|
|
const sequelize = new Sequelize(
|
|
process.env.DB_NAME,
|
|
process.env.DB_USER,
|
|
process.env.DB_PASSWORD,
|
|
{
|
|
host: process.env.DB_HOST,
|
|
port: process.env.DB_PORT || 5432,
|
|
dialect: 'postgres',
|
|
dialectOptions: {
|
|
...(useSSL && {
|
|
ssl: {
|
|
require: true,
|
|
rejectUnauthorized: false, // or provide CA cert if strict
|
|
},
|
|
}),
|
|
},
|
|
// logging: process.env.NODE_ENV === 'development' ? console.log : false,
|
|
logging: false,
|
|
pool: {
|
|
max: 10,
|
|
min: 0,
|
|
acquire: 30000,
|
|
idle: 10000,
|
|
},
|
|
}
|
|
);
|
|
|
|
module.exports = sequelize; |