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
Seção intitulada Adicionando Neon ao seu projeto AstroPré-requisitos
Seção intitulada Pré-requisitos- Uma conta Neon com um projeto criado
- String de conexão ao banco de dados Neon
- Um projeto Astro com renderização sob demanda (SSR) (EN) habilitado
Configuração de ambiente
Seção intitulada Configuração de ambientePara 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;}
.env
no Astro.
Instalando dependências
Seção intitulada Instalando dependênciasInstale o pacote @neondatabase/serverless
para se conectar ao Neon:
npm install @neondatabase/serverless
Crie um cliente Neon
Seção intitulada Crie um cliente NeonCrie 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
Seção intitulada Consultando seu banco de dados NeonVocê 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
Seção intitulada Ramificação de banco de dados com NeonA 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