init
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
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)
|
||||
})
|
||||
Reference in New Issue
Block a user