fix: auto initialize postgres database on startup
This commit is contained in:
@@ -3,6 +3,8 @@ const cors = require('cors');
|
|||||||
const { Pool } = require('pg');
|
const { Pool } = require('pg');
|
||||||
const { createClient } = require('redis');
|
const { createClient } = require('redis');
|
||||||
const cookieParser = require('cookie-parser');
|
const cookieParser = require('cookie-parser');
|
||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
require('dotenv').config();
|
require('dotenv').config();
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
@@ -43,6 +45,18 @@ const pgPool = new Pool({
|
|||||||
database: process.env.PGDATABASE || 'ckqr',
|
database: process.env.PGDATABASE || 'ckqr',
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Initialize Database automatically
|
||||||
|
const initDb = async () => {
|
||||||
|
try {
|
||||||
|
const sql = fs.readFileSync(path.join(__dirname, 'db', 'init.sql'), 'utf8');
|
||||||
|
await pgPool.query(sql);
|
||||||
|
console.log('Database initialized successfully.');
|
||||||
|
} catch (err) {
|
||||||
|
console.error('Database initialization failed:', err);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
initDb();
|
||||||
|
|
||||||
// Redis setup
|
// Redis setup
|
||||||
const redisClient = createClient({
|
const redisClient = createClient({
|
||||||
url: `redis://${process.env.REDIS_HOST || 'redis'}:${process.env.REDIS_PORT || 6379}`
|
url: `redis://${process.env.REDIS_HOST || 'redis'}:${process.env.REDIS_PORT || 6379}`
|
||||||
|
|||||||
Reference in New Issue
Block a user