Pular para o conteúdo

Neon Postgres & Astro

Neon é um banco de dados Postgres serverless totalmente gerenciado. Ele separa armazenamento e computação para oferecer escalabilidade automática, ramificações e armazenamento bottomless.

Adicionando Neon ao seu projeto Astro

Pré-requisitos

Configuração de ambiente

Para usar Neon com Astro, você precisará configurar uma variável de ambiente Neon. Crie ou edite seu arquivo .env na raiz do seu projeto, e adicione o seguinte código, substituindo com seus próprios detalhes de projeto:

NEON_DATABASE_URL="postgresql://<user>:<password>@<endpoint_hostname>.neon.tech:<port>/<dbname>?sslmode=require"

Para melhor suporte TypeScript, defina variáveis de ambiente em um arquivo src/env.d.ts:

interface ImportMetaEnv {
  readonly NEON_DATABASE_URL: string;
}

interface ImportMeta {
  readonly env: ImportMetaEnv;
}
Saiba mais sobre variáveis de ambiente (EN) e arquivos .env no Astro.

Instalando dependências

Instale o pacote @neondatabase/serverless para se conectar ao Neon:

npm install @neondatabase/serverless

Crie um cliente Neon

Crie um novo arquivo src/lib/neon.ts com o código seguinte para inicializar seu cliente Neon:

import { neon } from '@neondatabase/serverless';

export const sql = neon(import.meta.env.NEON_DATABASE_URL);

Consultando seu banco de dados Neon

Você agora pode usar o cliente Neon para consultar seu banco de dados de qualquer componente .astro. O exemplo seguinte obtém a hora atual do banco de dados Postgres:

---
import { sql } from '../lib/neon';

const response =  await  sql`SELECT NOW() as current_time`;
const currentTime = response[0].current_time;
---

<h1>Hora Atual</h1>
<p>A hora é: {currentTime}</p>

Ramificação de banco de dados com Neon

A funcionalidade de ramificação do Neon permite que você crie cópias do seu banco de dados para desenvolvimenot ou testes. Use isso em seu projeto Astro ao criar diferentes variáveis de ambiente para cada branch:

NEON_DATABASE_URL=your_development_branch_url
NEON_DATABASE_URL=your_production_branch_url

Recursos

Mais guias de serviço de back-end

Contribua Comunidade Sponsor