Si estás trabajando con SAP CAP y quieres usar PostgreSQL en lugar de SQLite, este post es para ti. Te voy a explicar paso a paso cómo conectar tu aplicación CAP con una base de datos PostgreSQL corriendo en Docker.
Requisitos previos
Antes de empezar, asegúrate de tener instalado:
- Node.js y el framework @sap/cds
- Docker y Docker Compose
- Un editor (VS Code)
Si no tienes SAP CAP, instálalo con:
npm install -g @sap/cds-dk
Ahora que estás listo, vamos a levantar PostgreSQL con Docker.
Levantando PostgreSQL con Docker
Vamos a crear un docker-compose.yml para lanzar PostgreSQL:
version: '3'
services:
postgres:
image: postgres:latest
container_name: cap_postgres
restart: always
environment:
POSTGRES_USER: cap_user
POSTGRES_PASSWORD: cap_pass
POSTGRES_DB: cap_database
ports:
- "5432:5432"
Guarda este archivo y ejecuta:
docker-compose up -d
Esto va a levantar un contenedor con PostgreSQL corriendo en el puerto 5432.
Instalando el driver de PostgreSQL en SAP CAP
Ahora, toca decirle a CAP que vamos a usar PostgreSQL en lugar de la base de datos por defecto. Para eso, instalamos el driver:
npm install @cap-js/postgres
Configurando la conexión en package.json
Edita el archivo package.json y agrégale esto dentro de la sección cds.requires:
"cds": {
"requires": {
"db": {
"kind": "postgres",
"credentials": {
"host": "localhost",
"port": 5432,
"database": "cap_database",
"user": "cap_user",
"password": "cap_pass"
}
}
}
}
Esto le dice a CAP que la base de datos es PostgreSQL y le pasamos las credenciales.
Acuerdate de: https://cap.cloud.sap/docs/node.js/cds-env
Creando la base de datos en CAP
Ejecuta este comando para desplegar el esquema en PostgreSQL:
cds deploy --to postgres
si todo sale bien, verás algo como "Successfully deployed to PostgreSQL".
Ya tienes SAP CAP corriendo con PostgreSQL en Docker. Ahora puedes aprovechar PostgreSQL en tus proyectos CAP sin problemas.
Top comments (0)