Artigos sobre: Bancos de Dados & Storage

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.


Criando um banco de dados PostgreSQL na Square Cloud


  • 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 usar squarecloud como dbname.
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.


Baixando o certificado PEM na Square Cloud


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

Este artigo foi útil?

Compartilhe seu feedback

Cancelar

Obrigado!