Desde que me mudé a la nueva arquitectura de Apple Silicon, la configuración de mi ventana acoplable con nextjs y postgres ya no funciona. El servidor nextjs donde estoy usando prisma no puede encontrar la base de datos dentro de la ventana acoplable.
El cliente prisma no puede acceder a la base de datos de postgres en el puerto 5432.
No se puede acceder al servidor de la base de datos en
test-postgres:5432
La migración tampoco funciona y devuelve el mismo error anterior.
docker-compose run --publish 5555:5555 next npx prisma migrate devdocker-compose.yml
postgres: container_name: 'test-postgres' restart: unless-stopped image: 'postgres:13' ports: - '15432:5432' volumes: - 'pgdata:/var/lib/postgresql/data/' environment: POSTGRES_PASSWORD: postgres.env
DATABASE_URL="postgres://postgres:postgres@localhost:15432/postgres"También agregué el objetivo binario arm a schema.prisma schema.prisma
generator client { provider = "prisma-client-js" binaryTargets = ["native", "debian-openssl-1.1.x", "linux-arm-openssl-1.1.x", "linux-musl"] previewFeatures = ["orderByRelation", "selectRelationCount"] }El contenedor de postgres se está ejecutando y puedo verlo a través del Panel de Docker Desktop. Una cosa que noté dentro del contenedor de postgres fue este ERROR:
2021-07-21 12:52:58.927 UTC [76] ERROR: relation "_prisma_migrations" does not exist at character 126¿Alguien lo ha experimentado antes y ha encontrado una solución?
[EDITAR]
clone el repositorio, siga README.md y vea el comportamiento esperado en una M1 Apple Silicon Machine: https://github.com/baristikir/prisma-postgres-M1
Agregar ?connect_timeout=300 a la cadena de conexión de la base de datos funcionó.
DATABASE_URL="postgres://postgres:postgres@localhost:15432/postgres?connect_timeout=300"