DrizzleORM: Como Conectar ao PostgreSQL na Square Cloud
Como conectar o DrizzleORM ao PostgreSQL hospedado na Square Cloud
Introdução
Este tutorial irá guiá-lo pelos passos para conectar seu DrizzleORM ao seu banco de dados PostgreSQL hospedado na Square Cloud.
- Primeiro, você precisa ter um plano pago ativo na sua conta. Você pode ver nossos planos e adquirir um conforme sua necessidade aqui.
- Em seguida, você precisará de um banco de dados PostgreSQL hospedado na Square Cloud. Se ainda não criou um, você pode criá-lo aqui.
Pré-requisitos
- Antes de começar, certifique-se de ter criado um banco de dados na Square Cloud e conectado a ele com algum cliente de gerenciamento como DBeaver ou outro para criar bancos e tabelas.

- Também será necessário ter o Drizzle configurado no seu projeto. Se ainda não fez isso, você pode seguir a documentação oficial do DrizzleORM aqui.
Conectando o Drizzle com o PostgreSQL
Para conectar o Drizzle ao PostgreSQL, você precisará obter as informações de conexão: a URL e os certificados.
URL do banco de dados
A URL do banco de dados que você obtém nas configurações de conexão fornece usuário, senha, host e porta para a conexão.
postgresql://username:password@host:port/dbname
Nota: Se você não criou um banco específico, pode usarsquarecloudcomodbname.
postgresql://username:password@host:port/squarecloud
Certificados
Nas configurações de conexão do banco, baixe o arquivo certificate.pem. Usaremos esse arquivo como ca, cert e key para conectar ao banco.

Conectando
Para realizar a conexão, você precisa configurar o arquivo drizzle.config.ts. Neste momento você pode usar as credenciais separadamente.
Configure os parâmetros de conexão como no exemplo abaixo:
// drizzle.config.ts
import { defineConfig } from 'drizzle-kit'
import fs from "fs";
import path from "path";
const fullPath = path.join(process.cwd(), "certs/certificate.pem")
const cert = fs.readFileSync(fullPath, "utf-8")
export default defineConfig({
dialect: "postgresql",
dbCredentials: {
host: "square-cloud-db-{id}.squareweb.app",
port: 7171,
user: "squarecloud",
password: "password",
database: "squarecloud",
ssl: {
ca: cert,
key: cert,
cert: cert
}
},
schema: "path/to/schema.ts",
out: "./drizzle",
migrations: {
table: '__drizzle_migrations',
schema: 'drizzle'
}
});
Você também precisa configurar o client.ts para usar os certificados de maneira similar.
// client.ts
import { drizzle } from "drizzle-orm/node-postgres";
import { Pool } from "pg";
import * as schema from './schema';
import fs from "fs";
import path from "path";
const fullPath = path.join(process.cwd(), "certs/certificate.pem")
const cert = fs.readFileSync(fullPath, "utf-8")
const connection = Pool({
host: "square-cloud-db-{id}.squareweb.app",
port: 7171,
user: "squarecloud",
password: "password",
database: "squarecloud",
ssl: {
ca: cert,
key: cert,
cert: cert
}
});
export default drizzle({client: connection, schema});
Atualizado em: 18/05/2026
Obrigado!
