Aller au contenu

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;
}
En savoir plus sur les variables d'environnement et les fichiers .env dans Astro.

Installation des dépendances

Installez le paquet @neondabase/serverless pour vous connecter à Neon :

npm install @neondatabase/serverless

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

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_url
NEON_DATABASE_URL=your_production_branch_url

Ressources

Plus de guides sur les services backend

Contribuer Communauté Parrainer