eletrotupi / tcc/ api/scripts/create-test-db.mjsmaster
549 B | 22 lines Raw
1
import pg from 'pg'
2

3
const { Client } = pg
4

5
const dbUrl = process.env.DATABASE_URL
6
if (!dbUrl) {
7
  console.error('DATABASE_URL is not set')
8
  process.exit(1)
9
}
10

11
const url = new URL(dbUrl)
12
const dbName = url.pathname.slice(1)
13
url.pathname = '/postgres'
14

15
const client = new Client({ connectionString: url.toString() })
16
await client.connect()
17
await client.query(`CREATE DATABASE "${dbName}"`).catch((err) => {
18
  if (err.code !== '42P04') throw err // 42P04 = database already exists
19
})
20
await client.end()
21

22
console.log(`Database "${dbName}" is ready.`)