import { Sequelize } from 'sequelize'; import dotenv from 'dotenv'; dotenv.config(); const sequelize = new Sequelize(process.env.DB_NAME, process.env.DB_USER, process.env.DB_PASSWORD, { host: process.env.DB_HOST, dialect: 'postgres', define: { timestamps: false }, }); const createSchemas = async () => { await sequelize.query('CREATE SCHEMA IF NOT EXISTS community'); await sequelize.query('CREATE SCHEMA IF NOT EXISTS logs'); await sequelize.query('CREATE SCHEMA IF NOT EXISTS type'); await sequelize.query('CREATE SCHEMA IF NOT EXISTS service'); await sequelize.query('CREATE SCHEMA IF NOT EXISTS forum'); }; const initializeDatabase = async () => { await createSchemas(); const { default: models } = await import('../models/index.js'); await syncModels(models); }; const syncModels = async (models) => { for (const model of Object.values(models)) { await model.sync({ alter: true, force: false }); } }; export { sequelize, initializeDatabase, syncModels };