2.9 KiB
Instructions pour initialiser la base de données Prisma
Ce document décrit comment configurer et initialiser la base de données PostgreSQL avec Prisma pour le SaaS Afropreunariat.
Prérequis
- Avoir Node.js installé (pour utiliser les commandes Prisma).
- Avoir Docker et Docker Desktop (ou équivalent) installés si vous souhaitez lancer la base de données localement, OU une base de données PostgreSQL distante (Supabase, Neon, etc.).
Étape 1 : Démarrer la base de données avec Docker (Local)
Si vous souhaitez utiliser la base de données PostgreSQL en local, un fichier docker-compose.yml est fourni avec le projet.
- Ouvrez votre terminal à la racine du projet (
afropreunariat). - Exécutez la commande suivante pour lancer la base de données en arrière-plan :
docker compose up -d
Votre base de données PostgreSQL tourne maintenant sur le port 5432 avec l'utilisateur admin et le mot de passe adminpassword.
Étape 2 : Installer les dépendances Prisma
Dans le terminal, à la racine du projet, exécutez les commandes suivantes :
npm install prisma --save-dev
npm install @prisma/client
Étape 3 : Configurer les variables d'environnement
- Créez un fichier
.envà la racine de votre projet (si ce n'est pas déjà fait). - Ajoutez la variable
DATABASE_URLcontenant la connexion à votre base PostgreSQL :
# Connexion locale via le Docker Compose fourni :
DATABASE_URL="postgresql://admin:adminpassword@localhost:5432/afropreunariat_dev?schema=public"
# Exemple avec Supabase ou Neon (si base distante)
# DATABASE_URL="postgresql://postgres:[MOT_DE_PASSE]@db.[ID_PROJET].supabase.co:5432/postgres"
Remarque : Ne commitez jamais votre fichier .env sur git.
Étape 3 : Initialiser la base de données
La modélisation de la base se trouve dans prisma/schema.prisma.
Pour appliquer ce schéma à votre base de données réelle et créer les tables, exécutez :
npx prisma db push
Note : Si vous souhaitez utiliser les migrations pour garder un historique des changements, utilisez plutôt npx prisma migrate dev --name init.
Étape 4 : Générer le client Prisma
Afin d'utiliser Prisma dans le code TypeScript (pour faire des requêtes au back-end), vous devez générer le client.
npx prisma generate
Étape 5 : Visualiser les données (Optionnel)
Prisma fournit une interface web locale pour voir et manipuler le contenu de la base :
npx prisma studio
Récapitulatif : Les modèles intégrés
- User : Pour gérer les visiteurs, administrateurs et entrepreneurs.
- Business : Pour les entreprises, leurs informations, contacts et métriques du "Mois de l'entrepreneur".
- Offer : Produits ou Services liés à un
Business. - BlogPost : Les articles du blog.
- Interview : Les vidéos et articles d'interviews.