mirror of
https://github.com/umami-software/umami.git
synced 2025-12-08 05:12:36 +01:00
Use custom path for generated Prisma client.
This commit is contained in:
parent
5cbf5a567c
commit
5aaff55a70
8 changed files with 38 additions and 46 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -18,6 +18,7 @@ node_modules
|
||||||
/public/script.js
|
/public/script.js
|
||||||
/geo
|
/geo
|
||||||
/dist
|
/dist
|
||||||
|
src/generated/prisma/
|
||||||
|
|
||||||
# misc
|
# misc
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
generator client {
|
generator client {
|
||||||
provider = "prisma-client-js"
|
provider = "prisma-client-js"
|
||||||
|
output = "../src/generated/prisma"
|
||||||
binaryTargets = ["native"]
|
binaryTargets = ["native"]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -29,17 +30,17 @@ model User {
|
||||||
}
|
}
|
||||||
|
|
||||||
model Session {
|
model Session {
|
||||||
id String @id @unique @map("session_id") @db.VarChar(36)
|
id String @id @unique @map("session_id") @db.VarChar(36)
|
||||||
websiteId String @map("website_id") @db.VarChar(36)
|
websiteId String @map("website_id") @db.VarChar(36)
|
||||||
browser String? @db.VarChar(20)
|
browser String? @db.VarChar(20)
|
||||||
os String? @db.VarChar(20)
|
os String? @db.VarChar(20)
|
||||||
device String? @db.VarChar(20)
|
device String? @db.VarChar(20)
|
||||||
screen String? @db.VarChar(11)
|
screen String? @db.VarChar(11)
|
||||||
language String? @db.VarChar(35)
|
language String? @db.VarChar(35)
|
||||||
country String? @db.Char(2)
|
country String? @db.Char(2)
|
||||||
region String? @db.Char(20)
|
region String? @db.Char(20)
|
||||||
city String? @db.VarChar(50)
|
city String? @db.VarChar(50)
|
||||||
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamp(0)
|
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamp(0)
|
||||||
|
|
||||||
websiteEvent WebsiteEvent[]
|
websiteEvent WebsiteEvent[]
|
||||||
sessionData SessionData[]
|
sessionData SessionData[]
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
generator client {
|
generator client {
|
||||||
provider = "prisma-client-js"
|
provider = "prisma-client-js"
|
||||||
|
output = "../src/generated/prisma"
|
||||||
binaryTargets = ["native"]
|
binaryTargets = ["native"]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -29,17 +30,17 @@ model User {
|
||||||
}
|
}
|
||||||
|
|
||||||
model Session {
|
model Session {
|
||||||
id String @id @unique @map("session_id") @db.Uuid
|
id String @id @unique @map("session_id") @db.Uuid
|
||||||
websiteId String @map("website_id") @db.Uuid
|
websiteId String @map("website_id") @db.Uuid
|
||||||
browser String? @db.VarChar(20)
|
browser String? @db.VarChar(20)
|
||||||
os String? @db.VarChar(20)
|
os String? @db.VarChar(20)
|
||||||
device String? @db.VarChar(20)
|
device String? @db.VarChar(20)
|
||||||
screen String? @db.VarChar(11)
|
screen String? @db.VarChar(11)
|
||||||
language String? @db.VarChar(35)
|
language String? @db.VarChar(35)
|
||||||
country String? @db.Char(2)
|
country String? @db.Char(2)
|
||||||
region String? @db.VarChar(20)
|
region String? @db.VarChar(20)
|
||||||
city String? @db.VarChar(50)
|
city String? @db.VarChar(50)
|
||||||
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
|
createdAt DateTime? @default(now()) @map("created_at") @db.Timestamptz(6)
|
||||||
|
|
||||||
websiteEvent WebsiteEvent[]
|
websiteEvent WebsiteEvent[]
|
||||||
sessionData SessionData[]
|
sessionData SessionData[]
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,6 @@
|
||||||
"@prisma/extension-read-replicas": "^0.4.1",
|
"@prisma/extension-read-replicas": "^0.4.1",
|
||||||
"@react-spring/web": "^9.7.3",
|
"@react-spring/web": "^9.7.3",
|
||||||
"@tanstack/react-query": "^5.28.6",
|
"@tanstack/react-query": "^5.28.6",
|
||||||
"@umami/prisma-client": "^0.14.0",
|
|
||||||
"@umami/redis-client": "^0.26.0",
|
"@umami/redis-client": "^0.26.0",
|
||||||
"bcryptjs": "^2.4.3",
|
"bcryptjs": "^2.4.3",
|
||||||
"chalk": "^4.1.1",
|
"chalk": "^4.1.1",
|
||||||
|
|
|
||||||
18
pnpm-lock.yaml
generated
18
pnpm-lock.yaml
generated
|
|
@ -38,9 +38,6 @@ importers:
|
||||||
'@tanstack/react-query':
|
'@tanstack/react-query':
|
||||||
specifier: ^5.28.6
|
specifier: ^5.28.6
|
||||||
version: 5.74.3(react@19.1.0)
|
version: 5.74.3(react@19.1.0)
|
||||||
'@umami/prisma-client':
|
|
||||||
specifier: ^0.14.0
|
|
||||||
version: 0.14.0(@prisma/client@6.6.0(prisma@6.6.0(typescript@5.8.3))(typescript@5.8.3))(@prisma/extension-read-replicas@0.4.1(@prisma/client@6.6.0(prisma@6.6.0(typescript@5.8.3))(typescript@5.8.3)))
|
|
||||||
'@umami/redis-client':
|
'@umami/redis-client':
|
||||||
specifier: ^0.26.0
|
specifier: ^0.26.0
|
||||||
version: 0.26.0
|
version: 0.26.0
|
||||||
|
|
@ -2364,12 +2361,6 @@ packages:
|
||||||
resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==}
|
resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==}
|
||||||
engines: {node: ^16.0.0 || >=18.0.0}
|
engines: {node: ^16.0.0 || >=18.0.0}
|
||||||
|
|
||||||
'@umami/prisma-client@0.14.0':
|
|
||||||
resolution: {integrity: sha512-62aAE5s5m/M1T88JIvOyZk2LzQIJ/iEeF57ewd/qKKNZdgXfP1aib+IAQ74db85vq6TwFyHMaXBeXztNNby5Fw==}
|
|
||||||
peerDependencies:
|
|
||||||
'@prisma/client': ^4.8.0
|
|
||||||
'@prisma/extension-read-replicas': ^0.3.0
|
|
||||||
|
|
||||||
'@umami/redis-client@0.26.0':
|
'@umami/redis-client@0.26.0':
|
||||||
resolution: {integrity: sha512-j2vxb1gYF5zfk7BkrHgau2MwKsB5ijbQh2w1WoIvbP41cqTMsFm/zUrjhZ0cP1ZxR/riQR1AWxKmqNggYRZ5eA==}
|
resolution: {integrity: sha512-j2vxb1gYF5zfk7BkrHgau2MwKsB5ijbQh2w1WoIvbP41cqTMsFm/zUrjhZ0cP1ZxR/riQR1AWxKmqNggYRZ5eA==}
|
||||||
|
|
||||||
|
|
@ -8978,15 +8969,6 @@ snapshots:
|
||||||
'@typescript-eslint/types': 6.21.0
|
'@typescript-eslint/types': 6.21.0
|
||||||
eslint-visitor-keys: 3.4.3
|
eslint-visitor-keys: 3.4.3
|
||||||
|
|
||||||
'@umami/prisma-client@0.14.0(@prisma/client@6.6.0(prisma@6.6.0(typescript@5.8.3))(typescript@5.8.3))(@prisma/extension-read-replicas@0.4.1(@prisma/client@6.6.0(prisma@6.6.0(typescript@5.8.3))(typescript@5.8.3)))':
|
|
||||||
dependencies:
|
|
||||||
'@prisma/client': 6.6.0(prisma@6.6.0(typescript@5.8.3))(typescript@5.8.3)
|
|
||||||
'@prisma/extension-read-replicas': 0.4.1(@prisma/client@6.6.0(prisma@6.6.0(typescript@5.8.3))(typescript@5.8.3))
|
|
||||||
chalk: 4.1.2
|
|
||||||
debug: 4.4.0(supports-color@8.1.1)
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
|
|
||||||
'@umami/redis-client@0.26.0':
|
'@umami/redis-client@0.26.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 4.4.0(supports-color@8.1.1)
|
debug: 4.4.0(supports-color@8.1.1)
|
||||||
|
|
|
||||||
4
pnpm-workspace.yaml
Normal file
4
pnpm-workspace.yaml
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
onlyBuiltDependencies:
|
||||||
|
- '@prisma/client'
|
||||||
|
- '@prisma/engines'
|
||||||
|
- prisma
|
||||||
|
|
@ -246,8 +246,8 @@ async function rawQuery(sql: string, data: object): Promise<any> {
|
||||||
});
|
});
|
||||||
|
|
||||||
return process.env.DATABASE_REPLICA_URL
|
return process.env.DATABASE_REPLICA_URL
|
||||||
? client.$replica().$queryRawUnsafe(query, params)
|
? client.$replica().$queryRawUnsafe(query, ...params)
|
||||||
: client.$queryRawUnsafe(query, params);
|
: client.$queryRawUnsafe(query, ...params);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function pagedQuery<T>(model: string, criteria: T, pageParams: PageParams) {
|
async function pagedQuery<T>(model: string, criteria: T, pageParams: PageParams) {
|
||||||
|
|
@ -371,6 +371,10 @@ function getClient(params?: {
|
||||||
prisma.$on('query' as never, queryLogger || log);
|
prisma.$on('query' as never, queryLogger || log);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (process.env.NODE_ENV !== 'production') {
|
||||||
|
global[PRISMA] = prisma;
|
||||||
|
}
|
||||||
|
|
||||||
log('Prisma initialized');
|
log('Prisma initialized');
|
||||||
|
|
||||||
return prisma;
|
return prisma;
|
||||||
|
|
|
||||||
|
|
@ -3,13 +3,13 @@ import { REDIS, UmamiRedisClient } from '@umami/redis-client';
|
||||||
const enabled = !!process.env.REDIS_URL;
|
const enabled = !!process.env.REDIS_URL;
|
||||||
|
|
||||||
function getClient() {
|
function getClient() {
|
||||||
const client = new UmamiRedisClient(process.env.REDIS_URL);
|
const redis = new UmamiRedisClient(process.env.REDIS_URL);
|
||||||
|
|
||||||
if (process.env.NODE_ENV !== 'production') {
|
if (process.env.NODE_ENV !== 'production') {
|
||||||
global[REDIS] = client;
|
global[REDIS] = redis;
|
||||||
}
|
}
|
||||||
|
|
||||||
return client;
|
return redis;
|
||||||
}
|
}
|
||||||
|
|
||||||
const client = global[REDIS] || getClient();
|
const client = global[REDIS] || getClient();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue