sync
This commit is contained in:
12
drizzle.config.js
Normal file
12
drizzle.config.js
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
import {defineConfig} from 'drizzle-kit'
|
||||||
|
|
||||||
|
if(!process.env.DATABASE_URL){
|
||||||
|
throw new Error('DATABASE_URL is not defined')
|
||||||
|
}
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
dialect:'postgresql',
|
||||||
|
schema: "./src/db/schema",
|
||||||
|
out: './migrations',
|
||||||
|
dbCredentials: {url: process.env.DATABASE_URL}
|
||||||
|
})
|
||||||
2199
package-lock.json
generated
2199
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
13
package.json
13
package.json
@@ -5,8 +5,8 @@
|
|||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "node --watch src/index.js",
|
"dev": "dotenvx run -f .env -- node --watch src/index.js",
|
||||||
"start": "node src/index.js"
|
"start": "dotenvx run -f .env -- node src/index.js"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@@ -16,11 +16,18 @@
|
|||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@dotenvx/dotenvx": "^1.52.0",
|
||||||
|
"drizzle-orm": "^0.45.1",
|
||||||
"express": "^5.2.1",
|
"express": "^5.2.1",
|
||||||
|
"pg": "^8.18.0",
|
||||||
"wscat": "^6.1.0"
|
"wscat": "^6.1.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^25.1.0",
|
"@types/node": "^25.1.0",
|
||||||
"@types/ws": "^8.18.1"
|
"@types/pg": "^8.16.0",
|
||||||
|
"@types/ws": "^8.18.1",
|
||||||
|
"drizzle-kit": "^0.31.8",
|
||||||
|
"tsx": "^4.21.0",
|
||||||
|
"typescript": "^5.9.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
12
src/db/db.js
Normal file
12
src/db/db.js
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
import { drizzle } from "drizzle-orm/node-postgres";
|
||||||
|
import pg from 'pg'
|
||||||
|
|
||||||
|
if(!process.env.DATABASE_URL){
|
||||||
|
throw new Error('DATABASE_URL is not defined')
|
||||||
|
}
|
||||||
|
|
||||||
|
export const pool = new pg.Pool({
|
||||||
|
connectionString: process.env.DATABASE_URL
|
||||||
|
})
|
||||||
|
|
||||||
|
export const db = drizzle(pool)
|
||||||
9
src/db/schema/matches.js
Normal file
9
src/db/schema/matches.js
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
import { pgEnum, serial } from "drizzle-orm/pg-core";
|
||||||
|
|
||||||
|
export const matchStatusEnum = pgEnum('match_status',['scheduled','live', 'finished'])
|
||||||
|
|
||||||
|
export const matches = pgTable('matches', {
|
||||||
|
id: serial('id').primaryKey(),
|
||||||
|
sport: text('sport').noNull(),
|
||||||
|
homeTeam: text('home_team').notNull()
|
||||||
|
})
|
||||||
@@ -2,7 +2,7 @@ import express from 'express'
|
|||||||
|
|
||||||
const app = express()
|
const app = express()
|
||||||
|
|
||||||
const port = 8081
|
const port = process.env.PORT || 8081
|
||||||
|
|
||||||
app.use(express.json())
|
app.use(express.json())
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user