auction-scrapper/scripts/setup_database.ts
Vakula Uladimir 12f005e335 init
2025-10-17 11:27:52 +03:00

47 lines
1.2 KiB
TypeScript

import pg from 'pg'
import env from '#start/env'
const { Client } = pg
async function setupDatabase() {
const client = new Client({
host: env.get('DB_HOST'),
port: env.get('DB_PORT'),
user: env.get('DB_USER'),
password: env.get('DB_PASSWORD'),
database: 'postgres',
})
try {
await client.connect()
console.log('Connected to PostgreSQL server')
const dbName = env.get('DB_DATABASE')
const checkDbQuery = `SELECT 1 FROM pg_database WHERE datname = $1`
const result = await client.query(checkDbQuery, [dbName])
if (result.rows.length === 0) {
console.log(`Database "${dbName}" does not exist. Creating...`)
await client.query(`CREATE DATABASE ${dbName}`)
console.log(`Database "${dbName}" created successfully`)
} else {
console.log(`Database "${dbName}" already exists`)
}
} catch (error) {
console.error('Error setting up database:', error)
throw error
} finally {
await client.end()
}
}
setupDatabase()
.then(() => {
console.log('Database setup completed successfully')
process.exit(0)
})
.catch((error) => {
console.error('Database setup failed:', error)
process.exit(1)
})