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
Section intitulée « Ajouter Neon à votre projet Astro »Prérequis
Section intitulée « 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
Section intitulée « 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
Section intitulée « Installation des dépendances »Installez le paquet @neondabase/serverless
pour vous connecter à Neon :
npm install @neondatabase/serverless
Créer un client Neon
Section intitulée « Cré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
Section intitulée « 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
Section intitulée « 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_url
NEON_DATABASE_URL=your_production_branch_url
Ressources
Section intitulée « Ressources »- Documentation de Neon (Anglais)
- GitHub du pilote sans serveur Neon (Anglais)
- Connecter un site ou une application Astro à Neon Postgres (Anglais)