-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup-db.mjs
More file actions
35 lines (29 loc) · 880 Bytes
/
setup-db.mjs
File metadata and controls
35 lines (29 loc) · 880 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import { neon } from "@neondatabase/serverless"
import { readFileSync } from "fs"
// Load DATABASE_URL from .env manually (no dotenv needed)
const env = readFileSync(".env", "utf8")
const match = env.match(/DATABASE_URL=(.+)/)
if (!match) {
console.error("DATABASE_URL not found in .env")
process.exit(1)
}
const DATABASE_URL = match[1].trim()
const sql = neon(DATABASE_URL)
async function setup() {
console.log("Creating sessions table...")
await sql`
CREATE TABLE IF NOT EXISTS sessions (
id SERIAL PRIMARY KEY,
spec TEXT NOT NULL,
code TEXT NOT NULL,
reflection TEXT NOT NULL,
ai_reflection TEXT NOT NULL,
created_at TIMESTAMPTZ DEFAULT NOW()
)
`
console.log("Done. Table 'sessions' is ready.")
}
setup().catch((err) => {
console.error("Setup failed:", err.message)
process.exit(1)
})