Skip to main content
c.Databases gerencia os bancos de dados gerenciados da Square Cloud (MongoDB, MySQL, PostgreSQL e Redis). Todo método recebe o ctx primeiro e, exceto Create e StatusAll, o id do banco de dados em seguida. Para listar seus bancos de dados, use c.Account.Me: seu slice Databases contém todos os bancos de dados que a chave pode ver. A hospedagem de bancos de dados requer um plano Standard, Pro ou Enterprise. Cada trecho abaixo roda sozinho dentro deste programa: cole um de cada vez em main e execute o goimports (veja Executando os exemplos).

Criando um banco de dados

O resultado é um DatabaseCreated com ID, Name, Memory, CPU (float64), Type, Password, Certificate (*string, nil quando a API não envia nenhum), ConnectionURL (connection_url) e Cluster. A senha e o certificado são retornados apenas por Create (e por ResetCredentials). Sem um prazo no ctx, a chamada espera pelo menos 2 minutos antes de expirar.

Obtendo um banco de dados

Atualizando um banco de dados

Update(ctx, databaseID, squarecloud.DatabaseUpdate{Name, RAM}) renomeia ou redimensiona um banco de dados. Campos com valor zero não são enviados; defina pelo menos um (caso contrário, 400 NO_UPDATE_DATA).

Iniciar e parar

Assim como as chamadas de ciclo de vida das aplicações, sem um prazo no ctx elas esperam pelo menos 2 minutos, e uma recusa resulta em 409 com um código e uma mensagem vazia: CONTAINER_ALREADY_STARTED, CONTAINER_ALREADY_STOPPED, CONTAINER_NOT_FOUND, CONTAINER_INSUFFICIENT_DISK_SPACE, CONTAINER_NETWORK_CONFLICT ou ACTION_FAILED. Enquanto uma restauração de snapshot está em andamento, elas resultam em 403 RESTORE_IN_PROGRESS.

Status e métricas

Status(ctx, databaseID) retorna valores formatados; StatusRaw(ctx, databaseID) retorna números. StatusAll(ctx) retorna um resumo por banco de dados. Metrics(ctx, databaseID) retorna as últimas 24 horas, um ponto a cada 5 minutos, do mais recente para o mais antigo.
Os campos de status são os mesmos do status de aplicações.

Credenciais

Certificate(ctx, databaseID) retorna o certificado TLS como PEM codificado em base64. ResetCredentials(ctx, databaseID, reset) rotaciona a senha (squarecloud.ResetPassword, retorna a nova) ou o certificado (squarecloud.ResetCertificate, retorna ""). O banco de dados precisa estar em execução (400 DATABASE_NOT_RUNNING).

Excluindo um banco de dados

A exclusão é permanente. Crie um snapshot antes, caso você possa precisar dos dados novamente.

Snapshots

c.Databases.Snapshots tem os mesmos List, Create e Restore das aplicações. Veja Snapshots.

Próximos passos

Workspaces

Compartilhe aplicações com sua equipe.

Referência da API de bancos de dados

Os endpoints REST por trás destes métodos.

Bancos de dados pela CLI

As mesmas ações pelo terminal.