Neon Postgres y Astro
Neon es una base de datos Postgres serverless totalmente administrada. Separa el almacenamiento y el cómputo para ofrecer autoescalado, ramificación y almacenamiento ilimitado.
Añadiendo Neon a tu proyecto de Astro
Sección titulada “Añadiendo Neon a tu proyecto de Astro”Requisitos previos
Sección titulada “Requisitos previos”- Una cuenta de Neon con un proyecto creado
- Cadena de conexión de la base de datos Neon
- Un proyecto de Astro con renderizado bajo demanda (SSR) habilitado
Configuración del entorno
Sección titulada “Configuración del entorno”Para usar Neon con Astro, necesitarás establecer una variable de entorno de Neon. Crea o edita el archivo .env en la raíz de tu proyecto y añade el siguiente código, reemplazando los detalles por los de tu propio proyecto:
NEON_DATABASE_URL="postgresql://<user>:<password>@<endpoint_hostname>.neon.tech:<port>/<dbname>?sslmode=require"Para un mejor soporte de TypeScript, define las variables de entorno en un archivo src/env.d.ts:
interface ImportMetaEnv { readonly NEON_DATABASE_URL: string;}
interface ImportMeta { readonly env: ImportMetaEnv;}.env en Astro.
Instalación de dependencias
Sección titulada "Instalación de dependencias"Instala el paquete @neondatabase/serverless para conectarte a Neon:
npm install @neondatabase/serverlessCreando un cliente de Neon
Sección titulada “Creando un cliente de Neon”Crea un nuevo archivo src/lib/neon.ts con el siguiente código para inicializar tu cliente de Neon:
import { neon } from '@neondatabase/serverless';
export const sql = neon(import.meta.env.NEON_DATABASE_URL);Consultando tu base de datos Neon
Sección titulada “Consultando tu base de datos Neon”Ahora puedes usar el cliente de Neon para consultar tu base de datos desde cualquier componente .astro. El siguiente ejemplo obtiene la hora actual de la base de datos Postgres:
---import { sql } from '../lib/neon';
const response = await sql`SELECT NOW() as current_time`;const currentTime = response[0].current_time;---
<h1>Current Time</h1><p>The time is: {currentTime}</p>Ramificación de base de datos con Neon
Sección titulada “Ramificación de base de datos con Neon”La función de ramificación de Neon te permite crear copias de tu base de datos para desarrollo o pruebas. Usa esto en tu proyecto de Astro creando diferentes variables de entorno para cada rama:
NEON_DATABASE_URL=your_development_branch_urlNEON_DATABASE_URL=your_production_branch_urlRecursos
Sección titulada “Recursos”- Documentación de Neon
- GitHub del controlador serverless de Neon
- Conecta un sitio o aplicación de Astro a Neon Postgres