Neon Postgres & Astro
Neon est une base de données Postgres entièrement gérée sans serveur. Elle sépare le stockage et le calcul pour offrir une mise à l'échelle automatique, des ramifications et un stockage illimité.
Ajouter Neon à votre projet Astro
Prérequis
- Un compte Neon avec un projet créé
- Une chaîne de connexion à la base de données Neon
- Un projet Astro avec le rendu à la demande (SSR) activé
Configuration de l'environnement
Pour utiliser Neon avec Astro, vous devez définir une variable d'environnement Neon. Créez ou modifiez le fichier .env à la racine de votre projet et ajoutez le code suivant, en remplaçant les détails de votre propre projet :
NEON_DATABASE_URL="postgresql://<user>:<password>@<endpoint_hostname>.neon.tech:<port>/<dbname>?sslmode=require"Pour une meilleure prise en charge de TypeScript, définissez les variables d'environnement dans un fichier src/env.d.ts :
interface ImportMetaEnv {
readonly NEON_DATABASE_URL: string;
}
interface ImportMeta {
readonly env: ImportMetaEnv;
}.env dans Astro.
Installation des dépendances
Installez le paquet @neondabase/serverless pour vous connecter à Neon :
npm install @neondatabase/serverlessCréer un client Neon
Créez un nouveau fichier src/lib/neon.ts avec le code suivant pour initialiser votre client Neon :
import { neon } from '@neondatabase/serverless';
export const sql = neon(import.meta.env.NEON_DATABASE_URL);Interroger votre base de données Neon
Vous pouvez désormais utiliser le client Neon pour interroger votre base de données à partir de n'importe quel composant .astro. L'exemple suivant récupère l'heure actuelle à partir de la base de données Postgres :
---
import { sql } from '../lib/neon';
const response = await sql`SELECT NOW() as current_time`;
const currentTime = response[0].current_time;
---
<h1>Heure actuelle</h1>
<p>Il est : {currentTime}</p>Ramification de base de données avec Neon
La fonction de ramification de Neon vous permet de créer des copies de votre base de données à des fins de développement ou de test. Utilisez-la dans votre projet Astro en créant différentes variables d'environnement pour chaque branche :
NEON_DATABASE_URL=your_development_branch_urlNEON_DATABASE_URL=your_production_branch_urlRessources
- Documentation de Neon (Anglais)
- GitHub du pilote sans serveur Neon (Anglais)
- Connecter un site ou une application Astro à Neon Postgres (Anglais)