Conectar SAP CAP con PostgreSQL en Docker

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…


This content originally appeared on DEV Community and was authored by Miguel Valerio Gutiérrez Pardo

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:

  1. Node.js y el framework @sap/cds
  2. Docker y Docker Compose
  3. 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.


This content originally appeared on DEV Community and was authored by Miguel Valerio Gutiérrez Pardo


Print Share Comment Cite Upload Translate Updates
APA

Miguel Valerio Gutiérrez Pardo | Sciencx (2025-03-09T13:15:45+00:00) Conectar SAP CAP con PostgreSQL en Docker. Retrieved from https://www.scien.cx/2025/03/09/conectar-sap-cap-con-postgresql-en-docker/

MLA
" » Conectar SAP CAP con PostgreSQL en Docker." Miguel Valerio Gutiérrez Pardo | Sciencx - Sunday March 9, 2025, https://www.scien.cx/2025/03/09/conectar-sap-cap-con-postgresql-en-docker/
HARVARD
Miguel Valerio Gutiérrez Pardo | Sciencx Sunday March 9, 2025 » Conectar SAP CAP con PostgreSQL en Docker., viewed ,<https://www.scien.cx/2025/03/09/conectar-sap-cap-con-postgresql-en-docker/>
VANCOUVER
Miguel Valerio Gutiérrez Pardo | Sciencx - » Conectar SAP CAP con PostgreSQL en Docker. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/03/09/conectar-sap-cap-con-postgresql-en-docker/
CHICAGO
" » Conectar SAP CAP con PostgreSQL en Docker." Miguel Valerio Gutiérrez Pardo | Sciencx - Accessed . https://www.scien.cx/2025/03/09/conectar-sap-cap-con-postgresql-en-docker/
IEEE
" » Conectar SAP CAP con PostgreSQL en Docker." Miguel Valerio Gutiérrez Pardo | Sciencx [Online]. Available: https://www.scien.cx/2025/03/09/conectar-sap-cap-con-postgresql-en-docker/. [Accessed: ]
rf:citation
» Conectar SAP CAP con PostgreSQL en Docker | Miguel Valerio Gutiérrez Pardo | Sciencx | https://www.scien.cx/2025/03/09/conectar-sap-cap-con-postgresql-en-docker/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.