Files
yourpart3/backend/utils/sequelize.js
2024-09-27 07:40:06 +02:00

34 lines
961 B
JavaScript

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');
};
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 });
}
};
export { sequelize, initializeDatabase, syncModels };