# 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 1. Avoir **Node.js** installé (pour utiliser les commandes Prisma). 2. 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. 1. Ouvrez votre terminal à la racine du projet (`afropreunariat`). 2. Exécutez la commande suivante pour lancer la base de données en arrière-plan : ```bash 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 : ```bash npm install prisma --save-dev npm install @prisma/client ``` ## Étape 3 : Configurer les variables d'environnement 1. Créez un fichier `.env` à la racine de votre projet (si ce n'est pas déjà fait). 2. Ajoutez la variable `DATABASE_URL` contenant la connexion à votre base PostgreSQL : ```env # 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 : ```bash 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. ```bash 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 : ```bash 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. ```bash prisma generate // Regénère le client Prisma prisma migrate dev // Crée/Met à jour les tables dans la BDD prisma studio // Ouvre l'interface web de gestion des données ```