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.

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:

.env
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:

src/env.d.ts
interface ImportMetaEnv {
readonly NEON_DATABASE_URL: string;
}
interface ImportMeta {
readonly env: ImportMetaEnv;
}
Saiba mais sobre variáveis de ambiente e arquivos .env no Astro.

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

Janela do terminal
npm install @neondatabase/serverless

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

src/lib/neon.ts
import { neon } from '@neondatabase/serverless';
export const sql = neon(import.meta.env.NEON_DATABASE_URL);

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:

src/pages/index.astro
---
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

Seção intitulada 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:

.env.development
NEON_DATABASE_URL=your_development_branch_url
.env.production
NEON_DATABASE_URL=your_production_branch_url

Mais guias de serviço de back-end

Contribua Comunidade Sponsor