Skip to Content
TestingBases de datos gestionadas

Bases de datos gestionadas

Disponibilidad

Postgres gestionado aún no está disponible. El servicio de base de datos actual es una vista previa del plano de control: valida solicitudes, registra metadatos, genera una forma de credencial de un solo uso y puede publicar DATABASE_URL, pero devuelve el host no enrutable stub-shared-pg-01.local. No crea servidor de base de datos, tenant, esquema, copia de seguridad ni punto de recuperación.

No conectes una aplicación a un registro cuyo estado sea stub. No trates una respuesta API exitosa como prueba de que existe almacenamiento.

Qué puedes probar hoy

La vista previa es útil para probar una integración contra el contrato previsto:

  • la propiedad de app la comprueba el wrapper MCP;
  • se pueden crear y listar registros de base de datos;
  • la contraseña generada no la devuelven lecturas posteriores de metadatos;
  • DATABASE_URL puede entregarse al producer de entorno de app cuando su token producer está configurado; y
  • la app registra la referencia de base de datos devuelta.

Publicar la URL placeholder no la hace utilizable. Elimínala del entorno de app antes de un despliegue real.

Herramientas MCP

ToolCurrent behavior
add_app_database(app_id, engine='postgres')Creates a stub record. It may publish a placeholder DATABASE_URL.
list_app_databases(app_id)Returns metadata only. It never returns the password.

Comprueba el estado devuelto antes de hacer cualquier otra cosa:

add_app_database(app_id='app-12345678', engine='postgres')
{ "db_id": "db-a1b2c3d4e5f6", "engine": "postgres", "status": "stub", "env_published": false, "publish_skipped_reason": "OPENFACTORY_DB_PRODUCER_TOKEN is not configured" }

La respuesta exacta también puede contener campos de conexión de un solo uso. En vista previa apuntan al host stub y no deben usarse como credenciales para una carga real.

Contrato REST

Las rutas del lado plataforma son:

MethodPathResult
POST/api/app-infra/databasesCreates a preview record and returns one-time connection-shaped data.
GET/api/app-infra/databases/{db_id}Returns metadata without the password.
GET/api/app-infra/databases?app_id={app_id}Lists metadata, optionally filtered by app.

Estas rutas de nivel inferior son principalmente para integración interna. Prefiere la herramienta MCP con alcance de propietario salvo que desarrolles la plataforma en sí.

Antes de poder llamar listo a Postgres gestionado

Una versión apta para producción necesita evidencia de todo lo siguiente:

  1. un servicio Postgres alcanzable y aprovisionamiento real de tenant;
  2. aislamiento de red entre apps;
  3. rotación y desaprovisionamiento de credenciales;
  4. simulacros de copia y restauración con resultados de recuperación medidos;
  5. límites de recursos, monitorización y alertas de fallo; y
  6. una prueba end-to-end de aplicación que escribe datos, redespliega y los lee de vuelta.

Hasta que esas comprobaciones pasen en el entorno objetivo, trae tu propia base de datos y coloca su cadena de conexión real en Variables de entorno de app.