#!/bin/bash echo "🚀 Configuration de la base de données PostgreSQL pour l'inventaire industriel" # Vérifier si PostgreSQL est installé if ! command -v psql &> /dev/null; then echo "📦 Installation de PostgreSQL..." sudo dnf install -y postgresql postgresql-server postgresql-contrib # Initialiser la base de données PostgreSQL sudo postgresql-setup --initdb # Démarrer et activer PostgreSQL sudo systemctl start postgresql sudo systemctl enable postgresql echo "✅ PostgreSQL installé et démarré" else echo "✅ PostgreSQL déjà installé" fi # Créer l'utilisateur et la base de données echo "🔧 Configuration de la base de données..." # Se connecter en tant qu'utilisateur postgres sudo -u postgres psql << EOF -- Créer l'utilisateur postgres avec mot de passe ALTER USER postgres PASSWORD 'password'; -- Créer la base de données CREATE DATABASE inventory_db; -- Donner les privilèges GRANT ALL PRIVILEGES ON DATABASE inventory_db TO postgres; -- Se connecter à la base de données \c inventory_db; -- Créer le schéma public si nécessaire CREATE SCHEMA IF NOT EXISTS public; -- Donner les privilèges sur le schéma GRANT ALL ON SCHEMA public TO postgres; \q EOF echo "✅ Base de données configurée" # Générer le client Prisma echo "🔧 Génération du client Prisma..." npx prisma generate # Créer et appliquer les migrations echo "🔧 Création des migrations..." npx prisma migrate dev --name init echo "🎉 Configuration terminée !" echo "📊 Base de données: inventory_db" echo "🔗 URL: postgresql://postgres:password@localhost:5432/inventory_db" echo "🚀 Pour démarrer l'API: npm run start:dev"