Neon Postgres y Astro
Neon es una base de datos Postgres serverless totalmente gestionada. Separa el almacenamiento y el cálculo para ofrecer escalado automático, ramificación y almacenamiento sin límites.
Agregar Neon a tu proyecto de Astro
Sección titulada Agregar Neon a tu proyecto de AstroPrerequesitos
Sección titulada Prerequesitos- Una cuenta de Neon con un proyecto creado
- Una cadena de conexión a la base de datos de Neon
- Un proyecto de Astro con renderizado bajo demanda (SSR) habilitado
Configuración de entorno
Sección titulada Configuración de entornoPara 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 agrega el siguiente código, reemplazando los detalles de tu proyecto:
NEON_DATABASE_URL="postgresql://<user>:<password>@<endpoint_hostname>.neon.tech:<port>/<dbname>?sslmode=require"
Para 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.
Instalar dependencias
Sección titulada Instalar dependenciasInstalla el paquete @neondatabase/serverless
para conectarse a Neon:
npm install @neondatabase/serverless
Crear un cliente de Neon
Sección titulada Crear un cliente de NeonCrea 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);
Consultar tu base de datos de Neon
Sección titulada Consultar tu base de datos de NeonAhora puedes usar el cliente de Neon para consultar tu base de datos desde cualquier componente .astro
. El siguiente ejemplo recupera la hora actual de la base de datos de Postgres:
---import { sql } from '../lib/neon';
const response = await sql`SELECT NOW() as current_time`;const currentTime = response[0].current_time;---
<h1>Tiempo actual</h1><p>El tiempo es: {currentTime}</p>
Ramificación de base de datos con Neon
Sección titulada Ramificación de base de datos con NeonLa característica de ramificación de Neon te permite crear copias de tu base de datos para desarrollo o pruebas. Utiliza esto en tu proyecto de Astro creando variables de entorno diferentes para cada rama:
NEON_DATABASE_URL=your_development_branch_url
NEON_DATABASE_URL=your_production_branch_url
Recursos
Sección titulada Recursos- Documentación de Neon
- Controlador de Neon serverless en GitHub
- Conecta un sitio o aplicación de Astro a Neon Postgres