From 4fc8273393895dba160cd884386dd4e21652a155 Mon Sep 17 00:00:00 2001 From: karishmas6 Date: Mon, 14 Oct 2024 23:44:22 +0530 Subject: [PATCH] refactor: rename to storage --- server/src/storage/config.ts | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 server/src/storage/config.ts diff --git a/server/src/storage/config.ts b/server/src/storage/config.ts new file mode 100644 index 00000000..56c68d8b --- /dev/null +++ b/server/src/storage/config.ts @@ -0,0 +1,35 @@ +import { Sequelize } from 'sequelize'; +import dotenv from 'dotenv'; +import setupAssociations from '../models/associations'; + +dotenv.config(); +const sequelize = new Sequelize( + `postgresql://${process.env.DB_USER}:${process.env.DB_PASSWORD}@${process.env.DB_HOST}:${process.env.DB_PORT}/${process.env.DB_NAME}`, + { + host: 'localhost', + dialect: 'postgres', + logging: false, + } +); + +export const connectDB = async () => { + try { + await sequelize.authenticate(); + console.log('Database connected successfully'); + } catch (error) { + console.error('Unable to connect to the database:', error); + } +}; + +export const syncDB = async () => { + try { + //setupAssociations(); + await sequelize.sync({ force: false }); // force: true will drop and recreate tables on every run + console.log('Database synced successfully!'); + } catch (error) { + console.error('Failed to sync database:', error); + } +}; + + +export default sequelize; \ No newline at end of file