c.Databases gestiona las bases de datos gestionadas de Square Cloud (MongoDB, MySQL, PostgreSQL y Redis). Todos los métodos reciben primero ctx y, salvo Create y StatusAll, después el id de la base de datos. Para listar tus bases de datos, usa c.Account.Me: su slice Databases contiene todas las bases de datos que la clave puede ver.
El alojamiento de bases de datos requiere un plan Standard, Pro o Enterprise.
Cada fragmento de abajo se ejecuta por sí solo dentro de este programa: pega uno a la vez en main y ejecuta goimports (consulta Ejecutar los ejemplos).
Crear una base de datos
El resultado es un
DatabaseCreated con ID, Name, Memory, CPU (float64), Type, Password, Certificate (*string, nil cuando la API no envía ninguno), ConnectionURL (connection_url) y Cluster. La contraseña y el certificado solo los devuelve Create (y ResetCredentials). Sin un deadline en ctx, la llamada espera al menos 2 minutos antes de agotar el tiempo.
Obtener una base de datos
Actualizar una base de datos
Update(ctx, databaseID, squarecloud.DatabaseUpdate{Name, RAM}) renombra o redimensiona una base de datos. Los campos con valor cero no se envían; define al menos uno (en caso contrario, 400 NO_UPDATE_DATA).
Iniciar y detener
ctx esperan al menos 2 minutos, y un rechazo es un 409 con un código y un mensaje vacío: CONTAINER_ALREADY_STARTED, CONTAINER_ALREADY_STOPPED, CONTAINER_NOT_FOUND, CONTAINER_INSUFFICIENT_DISK_SPACE, CONTAINER_NETWORK_CONFLICT o ACTION_FAILED. Mientras se ejecuta la restauración de un snapshot, dan 403 RESTORE_IN_PROGRESS.
Estado y métricas
Status(ctx, databaseID) devuelve valores formateados; StatusRaw(ctx, databaseID) devuelve números. StatusAll(ctx) devuelve un resumen por base de datos. Metrics(ctx, databaseID) devuelve las últimas 24 horas, un punto cada 5 minutos, del más reciente al más antiguo.
Credenciales
Certificate(ctx, databaseID) devuelve el certificado TLS como PEM codificado en base64. ResetCredentials(ctx, databaseID, reset) rota la contraseña (squarecloud.ResetPassword, devuelve la nueva) o el certificado (squarecloud.ResetCertificate, devuelve ""). La base de datos debe estar en ejecución (400 DATABASE_NOT_RUNNING).
Eliminar una base de datos
Snapshots
c.Databases.Snapshots tiene los mismos List, Create y Restore que las aplicaciones. Consulta Snapshots.
Próximos pasos
Workspaces
Comparte aplicaciones con tu equipo.
Referencia de la API de bases de datos
Los endpoints REST detrás de estos métodos.
Bases de datos desde la CLI
Las mismas acciones desde la terminal.

