diff --git a/memento-note/docker-entrypoint.sh b/memento-note/docker-entrypoint.sh index 6a3dbd4..a740fa6 100644 --- a/memento-note/docker-entrypoint.sh +++ b/memento-note/docker-entrypoint.sh @@ -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 diff --git a/scripts/deploy-prod.sh b/scripts/deploy-prod.sh index 16ae723..a77b8d7 100755 --- a/scripts/deploy-prod.sh +++ b/scripts/deploy-prod.sh @@ -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 diff --git a/scripts/migrate-docker.sh b/scripts/migrate-docker.sh new file mode 100755 index 0000000..683e0f9 --- /dev/null +++ b/scripts/migrate-docker.sh @@ -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."