fix(deploy): migrations via node prisma/build/index.js (pas npx)
Some checks failed
CI / Lint, Test & Build (push) Failing after 7m50s
CI / Deploy production (on server) (push) Has been cancelled

L'image prebuilt n'expose pas la commande prisma dans le PATH.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Antigravity
2026-05-17 13:59:49 +00:00
parent 37a88d7e3d
commit 60296242aa
3 changed files with 21 additions and 2 deletions

View File

@@ -108,8 +108,8 @@ else
else
err "All migration strategies failed."
err "To fix manually:"
err " docker compose exec memento-note npx prisma migrate deploy"
err " docker compose exec memento-note npx prisma db push --skip-generate"
err " docker compose exec memento-note node ./node_modules/prisma/build/index.js migrate deploy"
err " docker compose exec memento-note node ./node_modules/prisma/build/index.js db push --skip-generate"
exit 1
fi
fi

View File

@@ -62,6 +62,13 @@ fi
docker compose up -d --remove-orphans --force-recreate memento-note
docker compose up -d mcp-server 2>/dev/null || true
echo "=== Migrations (Prisma CLI via node, pas npx) ==="
if docker compose exec -T memento-note test -f ./node_modules/prisma/build/index.js 2>/dev/null; then
docker compose exec -T memento-note node ./node_modules/prisma/build/index.js migrate deploy
else
echo "WARN: prisma CLI absent de l'image — les migrations tournent au démarrage (entrypoint) ou via psql manuel"
fi
nginx -t 2>/dev/null && systemctl reload nginx 2>/dev/null || true
for i in $(seq 1 24); do

12
scripts/migrate-docker.sh Executable file
View File

@@ -0,0 +1,12 @@
#!/usr/bin/env bash
# Applique les migrations Prisma dans le conteneur memento-web (image prebuilt sans npx prisma).
set -euo pipefail
cd "${DEPLOY_ROOT:-/opt/memento}"
PRISMA_JS="./node_modules/prisma/build/index.js"
if ! docker compose exec -T memento-note test -f "$PRISMA_JS"; then
echo "ERREUR: $PRISMA_JS introuvable dans le conteneur."
echo "Essayez: docker compose restart memento-note && docker logs memento-web --tail=40"
exit 1
fi
docker compose exec -T memento-note node "$PRISMA_JS" migrate deploy
echo "OK migrations appliquées."