db config update
This commit is contained in:
parent
3c8c3532ca
commit
b655c3b304
@ -18,6 +18,7 @@
|
||||
"dotenv": "^17.3.1",
|
||||
"express": "^5.2.1",
|
||||
"jsonwebtoken": "^9.0.3",
|
||||
"pg": "^8.20.0",
|
||||
"sequelize": "^6.37.8",
|
||||
"socket.io": "^4.8.3",
|
||||
"sqlite3": "^6.0.1"
|
||||
|
||||
@ -7,6 +7,7 @@ const config = {
|
||||
serverSecret: process.env.SERVER_SECRET,
|
||||
serverDescription: process.env.DESCRIPTION,
|
||||
serverRegion: process.env.REGION,
|
||||
dbUri: process.env.DB_URI || "local",
|
||||
};
|
||||
|
||||
module.exports = config;
|
||||
|
||||
@ -1,30 +1,44 @@
|
||||
const { Sequelize } = require("sequelize");
|
||||
const config = require("./config"); // Шлях до твого файлу з конфігом
|
||||
|
||||
const sequelize = new Sequelize({
|
||||
const isLocal = config.dbUri === "local";
|
||||
|
||||
const sequelize = isLocal
|
||||
? new Sequelize({
|
||||
dialect: "sqlite",
|
||||
storage: "./database.sqlite",
|
||||
logging: false,
|
||||
dialectOptions: { timeout: 20000 },
|
||||
pool: { max: 1, min: 1, idle: 10000, acquire: 30000 },
|
||||
})
|
||||
: new Sequelize(config.dbUri, {
|
||||
dialect: "postgres",
|
||||
logging: false,
|
||||
dialectOptions: {
|
||||
timeout: 20000,
|
||||
ssl: {
|
||||
require: true,
|
||||
rejectUnauthorized: false,
|
||||
},
|
||||
pool: {
|
||||
max: 1,
|
||||
min: 1,
|
||||
idle: 10000,
|
||||
acquire: 30000,
|
||||
},
|
||||
pool: { max: 5, min: 0, idle: 10000, acquire: 30000 },
|
||||
});
|
||||
|
||||
sequelize.initDatabase = async () => {
|
||||
try {
|
||||
await sequelize.authenticate();
|
||||
|
||||
if (isLocal) {
|
||||
await sequelize.query("PRAGMA journal_mode=WAL;");
|
||||
await sequelize.query("PRAGMA foreign_keys = OFF;");
|
||||
}
|
||||
|
||||
await sequelize.sync({ alter: true });
|
||||
|
||||
if (isLocal) {
|
||||
await sequelize.query("PRAGMA foreign_keys = ON;");
|
||||
}
|
||||
|
||||
console.log(`✅ Database connected (${isLocal ? "SQLite" : "Postgres"})`);
|
||||
return true;
|
||||
} catch (error) {
|
||||
console.error("❌ Database Init Error:", error);
|
||||
|
||||
Reference in New Issue
Block a user