Spaces:
Paused
Paused
added prisma to production
Browse files- docker-compose.yml +17 -0
- package-lock.json +180 -0
- package.json +2 -0
- prisma.config.ts +6 -2
- prisma/schema.prisma +1 -1
- src/lib/prisma.js +7 -4
docker-compose.yml
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version: '3.8'
|
| 2 |
+
|
| 3 |
+
services:
|
| 4 |
+
postgres:
|
| 5 |
+
image: postgres:15-alpine
|
| 6 |
+
container_name: serp-postgres
|
| 7 |
+
ports:
|
| 8 |
+
- "5432:5432"
|
| 9 |
+
environment:
|
| 10 |
+
POSTGRES_USER: serpuser
|
| 11 |
+
POSTGRES_PASSWORD: serppassword
|
| 12 |
+
POSTGRES_DB: serpdb
|
| 13 |
+
volumes:
|
| 14 |
+
- pgdata:/var/lib/postgresql/data
|
| 15 |
+
|
| 16 |
+
volumes:
|
| 17 |
+
pgdata:
|
package-lock.json
CHANGED
|
@@ -10,6 +10,7 @@
|
|
| 10 |
"license": "ISC",
|
| 11 |
"dependencies": {
|
| 12 |
"@prisma/adapter-better-sqlite3": "^7.8.0",
|
|
|
|
| 13 |
"@prisma/client": "^7.8.0",
|
| 14 |
"bcryptjs": "^3.0.3",
|
| 15 |
"better-sqlite3": "^12.10.0",
|
|
@@ -18,6 +19,7 @@
|
|
| 18 |
"express": "^5.2.1",
|
| 19 |
"express-validator": "^7.3.2",
|
| 20 |
"jsonwebtoken": "^9.0.3",
|
|
|
|
| 21 |
"prisma": "^7.8.0",
|
| 22 |
"socket.io": "^4.8.3",
|
| 23 |
"uuid": "^14.0.0"
|
|
@@ -125,6 +127,18 @@
|
|
| 125 |
"better-sqlite3": "^12.6.0"
|
| 126 |
}
|
| 127 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 128 |
"node_modules/@prisma/client": {
|
| 129 |
"version": "7.8.0",
|
| 130 |
"resolved": "https://registry.npmjs.org/@prisma/client/-/client-7.8.0.tgz",
|
|
@@ -508,6 +522,17 @@
|
|
| 508 |
"undici-types": ">=7.24.0 <7.24.7"
|
| 509 |
}
|
| 510 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 511 |
"node_modules/@types/react": {
|
| 512 |
"version": "19.2.15",
|
| 513 |
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.15.tgz",
|
|
@@ -2278,6 +2303,104 @@
|
|
| 2278 |
"integrity": "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==",
|
| 2279 |
"license": "MIT"
|
| 2280 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2281 |
"node_modules/picomatch": {
|
| 2282 |
"version": "2.3.2",
|
| 2283 |
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
|
|
@@ -2315,6 +2438,45 @@
|
|
| 2315 |
"url": "https://github.com/sponsors/porsager"
|
| 2316 |
}
|
| 2317 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2318 |
"node_modules/prebuild-install": {
|
| 2319 |
"version": "7.1.3",
|
| 2320 |
"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz",
|
|
@@ -2943,6 +3105,15 @@
|
|
| 2943 |
"node": ">= 0.6"
|
| 2944 |
}
|
| 2945 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2946 |
"node_modules/sqlstring": {
|
| 2947 |
"version": "2.3.3",
|
| 2948 |
"resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz",
|
|
@@ -3281,6 +3452,15 @@
|
|
| 3281 |
}
|
| 3282 |
}
|
| 3283 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3284 |
"node_modules/yn": {
|
| 3285 |
"version": "3.1.1",
|
| 3286 |
"resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
|
|
|
|
| 10 |
"license": "ISC",
|
| 11 |
"dependencies": {
|
| 12 |
"@prisma/adapter-better-sqlite3": "^7.8.0",
|
| 13 |
+
"@prisma/adapter-pg": "^7.8.0",
|
| 14 |
"@prisma/client": "^7.8.0",
|
| 15 |
"bcryptjs": "^3.0.3",
|
| 16 |
"better-sqlite3": "^12.10.0",
|
|
|
|
| 19 |
"express": "^5.2.1",
|
| 20 |
"express-validator": "^7.3.2",
|
| 21 |
"jsonwebtoken": "^9.0.3",
|
| 22 |
+
"pg": "^8.21.0",
|
| 23 |
"prisma": "^7.8.0",
|
| 24 |
"socket.io": "^4.8.3",
|
| 25 |
"uuid": "^14.0.0"
|
|
|
|
| 127 |
"better-sqlite3": "^12.6.0"
|
| 128 |
}
|
| 129 |
},
|
| 130 |
+
"node_modules/@prisma/adapter-pg": {
|
| 131 |
+
"version": "7.8.0",
|
| 132 |
+
"resolved": "https://registry.npmjs.org/@prisma/adapter-pg/-/adapter-pg-7.8.0.tgz",
|
| 133 |
+
"integrity": "sha512-ygb3UkerK3v8MDpXVgCISdRNDozpxh6+JVJgiIGbSr5KBgz10LLf5ejUskPGoXlsIjxsOu6nuy1JVQr2EKGSlg==",
|
| 134 |
+
"license": "Apache-2.0",
|
| 135 |
+
"dependencies": {
|
| 136 |
+
"@prisma/driver-adapter-utils": "7.8.0",
|
| 137 |
+
"@types/pg": "^8.16.0",
|
| 138 |
+
"pg": "^8.16.3",
|
| 139 |
+
"postgres-array": "3.0.4"
|
| 140 |
+
}
|
| 141 |
+
},
|
| 142 |
"node_modules/@prisma/client": {
|
| 143 |
"version": "7.8.0",
|
| 144 |
"resolved": "https://registry.npmjs.org/@prisma/client/-/client-7.8.0.tgz",
|
|
|
|
| 522 |
"undici-types": ">=7.24.0 <7.24.7"
|
| 523 |
}
|
| 524 |
},
|
| 525 |
+
"node_modules/@types/pg": {
|
| 526 |
+
"version": "8.20.0",
|
| 527 |
+
"resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.20.0.tgz",
|
| 528 |
+
"integrity": "sha512-bEPFOaMAHTEP1EzpvHTbmwR8UsFyHSKsRisLIHVMXnpNefSbGA1bD6CVy+qKjGSqmZqNqBDV2azOBo8TgkcVow==",
|
| 529 |
+
"license": "MIT",
|
| 530 |
+
"dependencies": {
|
| 531 |
+
"@types/node": "*",
|
| 532 |
+
"pg-protocol": "*",
|
| 533 |
+
"pg-types": "^2.2.0"
|
| 534 |
+
}
|
| 535 |
+
},
|
| 536 |
"node_modules/@types/react": {
|
| 537 |
"version": "19.2.15",
|
| 538 |
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.15.tgz",
|
|
|
|
| 2303 |
"integrity": "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==",
|
| 2304 |
"license": "MIT"
|
| 2305 |
},
|
| 2306 |
+
"node_modules/pg": {
|
| 2307 |
+
"version": "8.21.0",
|
| 2308 |
+
"resolved": "https://registry.npmjs.org/pg/-/pg-8.21.0.tgz",
|
| 2309 |
+
"integrity": "sha512-AUP1EYJuHraQGsVoCQVIcM7TEJVGtDzxWtGFZd8rds9d+CCXlU5Js1rYgfLNvxy9iJrpHjGrRjoi/3BT9fRyiA==",
|
| 2310 |
+
"license": "MIT",
|
| 2311 |
+
"dependencies": {
|
| 2312 |
+
"pg-connection-string": "^2.13.0",
|
| 2313 |
+
"pg-pool": "^3.14.0",
|
| 2314 |
+
"pg-protocol": "^1.14.0",
|
| 2315 |
+
"pg-types": "2.2.0",
|
| 2316 |
+
"pgpass": "1.0.5"
|
| 2317 |
+
},
|
| 2318 |
+
"engines": {
|
| 2319 |
+
"node": ">= 16.0.0"
|
| 2320 |
+
},
|
| 2321 |
+
"optionalDependencies": {
|
| 2322 |
+
"pg-cloudflare": "^1.4.0"
|
| 2323 |
+
},
|
| 2324 |
+
"peerDependencies": {
|
| 2325 |
+
"pg-native": ">=3.0.1"
|
| 2326 |
+
},
|
| 2327 |
+
"peerDependenciesMeta": {
|
| 2328 |
+
"pg-native": {
|
| 2329 |
+
"optional": true
|
| 2330 |
+
}
|
| 2331 |
+
}
|
| 2332 |
+
},
|
| 2333 |
+
"node_modules/pg-cloudflare": {
|
| 2334 |
+
"version": "1.4.0",
|
| 2335 |
+
"resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.4.0.tgz",
|
| 2336 |
+
"integrity": "sha512-Vo7z/6rrQYxpNRylp4Tlob2elzbh+N/MOQbxFVWCxS7oEx6jF53GTJFxK2WWpKuBRkmiin4Mt+xofFDjx09R0A==",
|
| 2337 |
+
"license": "MIT",
|
| 2338 |
+
"optional": true
|
| 2339 |
+
},
|
| 2340 |
+
"node_modules/pg-connection-string": {
|
| 2341 |
+
"version": "2.13.0",
|
| 2342 |
+
"resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.13.0.tgz",
|
| 2343 |
+
"integrity": "sha512-EMnU9E2fSULdsbErBbMaXJvFeD9B4+nPcM3f+4lsiCR0BHLPrLVjv3DbyM2hgQQviKJaTWIRRTjKjWlHg3p2ig==",
|
| 2344 |
+
"license": "MIT"
|
| 2345 |
+
},
|
| 2346 |
+
"node_modules/pg-int8": {
|
| 2347 |
+
"version": "1.0.1",
|
| 2348 |
+
"resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz",
|
| 2349 |
+
"integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==",
|
| 2350 |
+
"license": "ISC",
|
| 2351 |
+
"engines": {
|
| 2352 |
+
"node": ">=4.0.0"
|
| 2353 |
+
}
|
| 2354 |
+
},
|
| 2355 |
+
"node_modules/pg-pool": {
|
| 2356 |
+
"version": "3.14.0",
|
| 2357 |
+
"resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.14.0.tgz",
|
| 2358 |
+
"integrity": "sha512-gKtPkFdQPU3DksooVLi9LsjZxrsBUZIpa+7aVx+LV5pNh0KzP4Zleud2po+ConrxbuXGBJ6Hfer6hdgpIBpBaw==",
|
| 2359 |
+
"license": "MIT",
|
| 2360 |
+
"peerDependencies": {
|
| 2361 |
+
"pg": ">=8.0"
|
| 2362 |
+
}
|
| 2363 |
+
},
|
| 2364 |
+
"node_modules/pg-protocol": {
|
| 2365 |
+
"version": "1.14.0",
|
| 2366 |
+
"resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.14.0.tgz",
|
| 2367 |
+
"integrity": "sha512-n5taZ1kO3s9ngDTVxsEznOqCyToTgz0FLuPq0B33COy5pPpuWJpY3/2oRBVETuOgzdqRXfWpM9HIhp2LBBT1BA==",
|
| 2368 |
+
"license": "MIT"
|
| 2369 |
+
},
|
| 2370 |
+
"node_modules/pg-types": {
|
| 2371 |
+
"version": "2.2.0",
|
| 2372 |
+
"resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz",
|
| 2373 |
+
"integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==",
|
| 2374 |
+
"license": "MIT",
|
| 2375 |
+
"dependencies": {
|
| 2376 |
+
"pg-int8": "1.0.1",
|
| 2377 |
+
"postgres-array": "~2.0.0",
|
| 2378 |
+
"postgres-bytea": "~1.0.0",
|
| 2379 |
+
"postgres-date": "~1.0.4",
|
| 2380 |
+
"postgres-interval": "^1.1.0"
|
| 2381 |
+
},
|
| 2382 |
+
"engines": {
|
| 2383 |
+
"node": ">=4"
|
| 2384 |
+
}
|
| 2385 |
+
},
|
| 2386 |
+
"node_modules/pg-types/node_modules/postgres-array": {
|
| 2387 |
+
"version": "2.0.0",
|
| 2388 |
+
"resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz",
|
| 2389 |
+
"integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==",
|
| 2390 |
+
"license": "MIT",
|
| 2391 |
+
"engines": {
|
| 2392 |
+
"node": ">=4"
|
| 2393 |
+
}
|
| 2394 |
+
},
|
| 2395 |
+
"node_modules/pgpass": {
|
| 2396 |
+
"version": "1.0.5",
|
| 2397 |
+
"resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz",
|
| 2398 |
+
"integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==",
|
| 2399 |
+
"license": "MIT",
|
| 2400 |
+
"dependencies": {
|
| 2401 |
+
"split2": "^4.1.0"
|
| 2402 |
+
}
|
| 2403 |
+
},
|
| 2404 |
"node_modules/picomatch": {
|
| 2405 |
"version": "2.3.2",
|
| 2406 |
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
|
|
|
|
| 2438 |
"url": "https://github.com/sponsors/porsager"
|
| 2439 |
}
|
| 2440 |
},
|
| 2441 |
+
"node_modules/postgres-array": {
|
| 2442 |
+
"version": "3.0.4",
|
| 2443 |
+
"resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-3.0.4.tgz",
|
| 2444 |
+
"integrity": "sha512-nAUSGfSDGOaOAEGwqsRY27GPOea7CNipJPOA7lPbdEpx5Kg3qzdP0AaWC5MlhTWV9s4hFX39nomVZ+C4tnGOJQ==",
|
| 2445 |
+
"license": "MIT",
|
| 2446 |
+
"engines": {
|
| 2447 |
+
"node": ">=12"
|
| 2448 |
+
}
|
| 2449 |
+
},
|
| 2450 |
+
"node_modules/postgres-bytea": {
|
| 2451 |
+
"version": "1.0.1",
|
| 2452 |
+
"resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.1.tgz",
|
| 2453 |
+
"integrity": "sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==",
|
| 2454 |
+
"license": "MIT",
|
| 2455 |
+
"engines": {
|
| 2456 |
+
"node": ">=0.10.0"
|
| 2457 |
+
}
|
| 2458 |
+
},
|
| 2459 |
+
"node_modules/postgres-date": {
|
| 2460 |
+
"version": "1.0.7",
|
| 2461 |
+
"resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz",
|
| 2462 |
+
"integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==",
|
| 2463 |
+
"license": "MIT",
|
| 2464 |
+
"engines": {
|
| 2465 |
+
"node": ">=0.10.0"
|
| 2466 |
+
}
|
| 2467 |
+
},
|
| 2468 |
+
"node_modules/postgres-interval": {
|
| 2469 |
+
"version": "1.2.0",
|
| 2470 |
+
"resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz",
|
| 2471 |
+
"integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==",
|
| 2472 |
+
"license": "MIT",
|
| 2473 |
+
"dependencies": {
|
| 2474 |
+
"xtend": "^4.0.0"
|
| 2475 |
+
},
|
| 2476 |
+
"engines": {
|
| 2477 |
+
"node": ">=0.10.0"
|
| 2478 |
+
}
|
| 2479 |
+
},
|
| 2480 |
"node_modules/prebuild-install": {
|
| 2481 |
"version": "7.1.3",
|
| 2482 |
"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz",
|
|
|
|
| 3105 |
"node": ">= 0.6"
|
| 3106 |
}
|
| 3107 |
},
|
| 3108 |
+
"node_modules/split2": {
|
| 3109 |
+
"version": "4.2.0",
|
| 3110 |
+
"resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz",
|
| 3111 |
+
"integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==",
|
| 3112 |
+
"license": "ISC",
|
| 3113 |
+
"engines": {
|
| 3114 |
+
"node": ">= 10.x"
|
| 3115 |
+
}
|
| 3116 |
+
},
|
| 3117 |
"node_modules/sqlstring": {
|
| 3118 |
"version": "2.3.3",
|
| 3119 |
"resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz",
|
|
|
|
| 3452 |
}
|
| 3453 |
}
|
| 3454 |
},
|
| 3455 |
+
"node_modules/xtend": {
|
| 3456 |
+
"version": "4.0.2",
|
| 3457 |
+
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
| 3458 |
+
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
|
| 3459 |
+
"license": "MIT",
|
| 3460 |
+
"engines": {
|
| 3461 |
+
"node": ">=0.4"
|
| 3462 |
+
}
|
| 3463 |
+
},
|
| 3464 |
"node_modules/yn": {
|
| 3465 |
"version": "3.1.1",
|
| 3466 |
"resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
|
package.json
CHANGED
|
@@ -16,6 +16,7 @@
|
|
| 16 |
"license": "ISC",
|
| 17 |
"dependencies": {
|
| 18 |
"@prisma/adapter-better-sqlite3": "^7.8.0",
|
|
|
|
| 19 |
"@prisma/client": "^7.8.0",
|
| 20 |
"bcryptjs": "^3.0.3",
|
| 21 |
"better-sqlite3": "^12.10.0",
|
|
@@ -24,6 +25,7 @@
|
|
| 24 |
"express": "^5.2.1",
|
| 25 |
"express-validator": "^7.3.2",
|
| 26 |
"jsonwebtoken": "^9.0.3",
|
|
|
|
| 27 |
"prisma": "^7.8.0",
|
| 28 |
"socket.io": "^4.8.3",
|
| 29 |
"uuid": "^14.0.0"
|
|
|
|
| 16 |
"license": "ISC",
|
| 17 |
"dependencies": {
|
| 18 |
"@prisma/adapter-better-sqlite3": "^7.8.0",
|
| 19 |
+
"@prisma/adapter-pg": "^7.8.0",
|
| 20 |
"@prisma/client": "^7.8.0",
|
| 21 |
"bcryptjs": "^3.0.3",
|
| 22 |
"better-sqlite3": "^12.10.0",
|
|
|
|
| 25 |
"express": "^5.2.1",
|
| 26 |
"express-validator": "^7.3.2",
|
| 27 |
"jsonwebtoken": "^9.0.3",
|
| 28 |
+
"pg": "^8.21.0",
|
| 29 |
"prisma": "^7.8.0",
|
| 30 |
"socket.io": "^4.8.3",
|
| 31 |
"uuid": "^14.0.0"
|
prisma.config.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
|
|
| 1 |
import "dotenv/config";
|
| 2 |
import { defineConfig } from "prisma/config";
|
| 3 |
-
|
|
|
|
|
|
|
|
|
|
| 4 |
|
| 5 |
export default defineConfig({
|
| 6 |
schema: "prisma/schema.prisma",
|
|
@@ -8,6 +12,6 @@ export default defineConfig({
|
|
| 8 |
path: "prisma/migrations",
|
| 9 |
},
|
| 10 |
datasource: {
|
| 11 |
-
url:
|
| 12 |
},
|
| 13 |
});
|
|
|
|
| 1 |
+
/// <reference types="node" />
|
| 2 |
import "dotenv/config";
|
| 3 |
import { defineConfig } from "prisma/config";
|
| 4 |
+
|
| 5 |
+
const databaseUrl = process.env.NODE_ENV === "production"
|
| 6 |
+
? process.env.DATABASE_URL_PROD
|
| 7 |
+
: process.env.DATABASE_URL_DEV;
|
| 8 |
|
| 9 |
export default defineConfig({
|
| 10 |
schema: "prisma/schema.prisma",
|
|
|
|
| 12 |
path: "prisma/migrations",
|
| 13 |
},
|
| 14 |
datasource: {
|
| 15 |
+
url: databaseUrl,
|
| 16 |
},
|
| 17 |
});
|
prisma/schema.prisma
CHANGED
|
@@ -3,7 +3,7 @@ generator client {
|
|
| 3 |
}
|
| 4 |
|
| 5 |
datasource db {
|
| 6 |
-
provider = "
|
| 7 |
}
|
| 8 |
|
| 9 |
model User {
|
|
|
|
| 3 |
}
|
| 4 |
|
| 5 |
datasource db {
|
| 6 |
+
provider = "postgresql"
|
| 7 |
}
|
| 8 |
|
| 9 |
model User {
|
src/lib/prisma.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
| 1 |
require('dotenv').config();
|
| 2 |
const { PrismaClient } = require('@prisma/client');
|
| 3 |
-
const {
|
| 4 |
-
const
|
| 5 |
|
| 6 |
-
const
|
|
|
|
|
|
|
| 7 |
|
| 8 |
-
const
|
|
|
|
| 9 |
|
| 10 |
const prisma = new PrismaClient({ adapter });
|
| 11 |
|
|
|
|
| 1 |
require('dotenv').config();
|
| 2 |
const { PrismaClient } = require('@prisma/client');
|
| 3 |
+
const { PrismaPg } = require('@prisma/adapter-pg');
|
| 4 |
+
const { Pool } = require('pg');
|
| 5 |
|
| 6 |
+
const connectionString = process.env.NODE_ENV === "production"
|
| 7 |
+
? process.env.DATABASE_URL_PROD
|
| 8 |
+
: process.env.DATABASE_URL_DEV;
|
| 9 |
|
| 10 |
+
const pool = new Pool({ connectionString });
|
| 11 |
+
const adapter = new PrismaPg(pool);
|
| 12 |
|
| 13 |
const prisma = new PrismaClient({ adapter });
|
| 14 |
|