-- Script pour créer la table organ_type et mettre à jour la table organ
-- Exécuter ce script dans votre base de données

-- 1. Créer la table organ_type
CREATE TABLE IF NOT EXISTS organ_type (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100) NOT NULL UNIQUE,
    description VARCHAR(255),
    is_active BOOLEAN DEFAULT true,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- 2. Ajouter la colonne organ_type_id à la table organ
ALTER TABLE organ ADD COLUMN IF NOT EXISTS organ_type_id INTEGER;

-- 3. Ajouter la contrainte de clé étrangère
ALTER TABLE organ ADD CONSTRAINT IF NOT EXISTS fk_organ_organ_type
FOREIGN KEY (organ_type_id) REFERENCES organ_type(id);

-- 4. Insérer les types d'organes de base
INSERT INTO organ_type (name, description, is_active) VALUES
('Cœur', 'Organe cardiaque', true),
('Foie', 'Organe hépatique', true),
('Intestins', 'Organes digestifs', true),
('Poumons', 'Organes respiratoires', true),
('Reins', 'Organes rénaux', true),
('Estomac', 'Organe digestif', true),
('Rate', 'Organe lymphatique', true),
('Pancréas', 'Organe digestif et endocrinien', true),
('Cerveau', 'Organe nerveux central', true),
('Langue', 'Organe gustatif', true),
('Testicules', 'Organes reproducteurs mâles', true),
('Ovaires', 'Organes reproducteurs femelles', true),
('Utérus', 'Organe reproducteur femelle', true),
('Vessie', 'Organe urinaire', true),
('Thymus', 'Organe lymphatique', true),
('Thyroïde', 'Glande endocrine', true),
('Surrénales', 'Glandes endocrines', true),
('Vésicule biliaire', 'Organe digestif', true)
ON CONFLICT (name) DO NOTHING;

-- 5. Afficher les types d'organes créés
SELECT * FROM organ_type ORDER BY name;
