diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 7362bbc..18cf911 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -53,5 +53,5 @@ jobs: docker compose -f /opt/xflow/docker-compose.yml up -d --no-deps --force-recreate xflow echo "⏳ Waiting for container to start..." sleep 5 - docker exec xflow sh -c "cd /app && npm install prisma@7.8.0 @prisma/client@7.8.0 && npx prisma generate && export DATABASE_URL=postgresql://xflow:xflow_pass@postgres:5432/xflow && npx prisma migrate deploy --config prisma.config.ts" + docker exec xflow sh -c "cd /app && npm install prisma@7.8.0 @prisma/client@7.8.0 @prisma/adapter-pg pg && npx prisma generate && export DATABASE_URL=postgresql://xflow:xflow_pass@postgres:5432/xflow && npx prisma migrate deploy --config prisma.config.ts" echo "✅ XFlow deployed at $(date)" diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 3e5a02b..a95f012 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -13,15 +13,15 @@ "state": { "type": "canvas", "state": { - "file": "xflow-project-ru.canvas", + "file": "session-2026-04-23.canvas", "viewState": { - "x": 680, - "y": 867.4276729559749, - "zoom": -0.8699251927711932 + "x": -30, + "y": 220, + "zoom": -1.3211285963682102 } }, "icon": "lucide-layout-dashboard", - "title": "xflow-project-ru" + "title": "session-2026-04-23" } } ] @@ -188,6 +188,7 @@ }, "active": "3f38aefa8626b1f8", "lastOpenFiles": [ + "xflow-project-ru.canvas", "session-2026-04-23.canvas", "app/server/utils/prisma.ts", "prisma.config.ts", @@ -225,7 +226,6 @@ "node_modules/svgo/node_modules/commander/Readme.md", "node_modules/@prisma/streams-local/dist/touch/hash_vendor/NOTICE.md", "node_modules/proper-lockfile/node_modules/retry/equation.gif", - "xflow-project.canvas", - "xflow-project-ru.canvas" + "xflow-project.canvas" ] } \ No newline at end of file diff --git a/app/server/utils/prisma.ts b/app/server/utils/prisma.ts index d7c71a9..0da5aea 100644 --- a/app/server/utils/prisma.ts +++ b/app/server/utils/prisma.ts @@ -1,9 +1,15 @@ +import { PrismaPg } from '@prisma/adapter-pg' +import { Pool } from 'pg' import PrismaPkg from '@prisma/client' const { PrismaClient } = PrismaPkg +const pool = new Pool({ connectionString: process.env.DATABASE_URL }) +const adapter = new PrismaPg(pool) + const globalForPrisma = globalThis as unknown as { prisma: InstanceType } export const prisma = globalForPrisma.prisma || new PrismaClient({ + adapter, log: process.env.NODE_ENV === 'development' ? ['query', 'error', 'warn'] : ['error'] }) diff --git a/package.json b/package.json index 856afc1..5e912e5 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,8 @@ "jwt-decode": "^4.0.0", "markdown-it": "^14.1.0", "nuxt": "^3.16.0", + "@prisma/adapter-pg": "^7.8.0", + "pg": "^8.12.0", "vue": "^3.5.0", "vue-router": "^4.5.0", "zod": "^3.24.0" @@ -33,4 +35,4 @@ "prisma": "^7.8.0", "typescript": "^5.6.0" } -} +} \ No newline at end of file diff --git a/xflow-project-ru.canvas b/xflow-project-ru.canvas index 4a54a7b..f0b1030 100644 --- a/xflow-project-ru.canvas +++ b/xflow-project-ru.canvas @@ -27,4 +27,4 @@ {"id":"e12","fromNode":"future-1","fromSide":"bottom","toNode":"files-1","toSide":"top","color":"1"}, {"id":"e13","fromNode":"social-1","fromSide":"right","toNode":"files-1","toSide":"left","color":"4"} ] -} +} \ No newline at end of file