This repository has been archived on 2026-04-01. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Inventory_backend/setup-database.sh

61 lines
1.7 KiB
Bash

#!/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"