61 lines
1.7 KiB
Bash
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" |