save avant prochaine modif
This commit is contained in:
79
instructions-base-de-donnees.md
Normal file
79
instructions-base-de-donnees.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user