Files
LogiFlow/sql/diagnostic_references.sql
michaelschal 29798a0a81 Add diagnostic scripts for checking and fixing data references
Introduce SQL scripts to verify and populate necessary data in suppliers, groups, and users tables for testing avoirs functionality.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 9fcf4b21-eb0c-4e53-a567-e2ce4a6ad869
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/9fcf4b21-eb0c-4e53-a567-e2ce4a6ad869/2Jd7tYp
2025-09-08 14:36:30 +00:00

46 lines
1.6 KiB
SQL

-- 🔍 DIAGNOSTIC DES RÉFÉRENCES - Trouvons le vrai problème
-- Exécutez chaque section séparément
-- SECTION 1: Vérifier les tables dépendantes
SELECT 'suppliers' as table_name, COUNT(*) as record_count FROM suppliers
UNION ALL
SELECT 'groups' as table_name, COUNT(*) FROM groups
UNION ALL
SELECT 'users' as table_name, COUNT(*) FROM users;
-- SECTION 2: Voir les premiers IDs disponibles
SELECT 'supplier_ids' as type, string_agg(id::text, ', ') as available_ids
FROM (SELECT id FROM suppliers LIMIT 5) s
UNION ALL
SELECT 'group_ids' as type, string_agg(id::text, ', ')
FROM (SELECT id FROM groups LIMIT 5) g
UNION ALL
SELECT 'user_ids' as type, string_agg(id::text, ', ')
FROM (SELECT id FROM users LIMIT 5) u;
-- SECTION 3: Vérifier les types de colonnes
SELECT table_name, column_name, data_type
FROM information_schema.columns
WHERE table_name IN ('suppliers', 'groups', 'users', 'avoirs')
AND column_name IN ('id', 'created_by')
ORDER BY table_name, column_name;
-- SECTION 4: Test d'insertion avec de vraies données
-- ATTENTION: Remplacez les valeurs par les vrais IDs trouvés ci-dessus
INSERT INTO avoirs (
supplier_id,
group_id,
invoice_reference,
amount,
comment,
commercial_processed,
created_by
) VALUES (
(SELECT id FROM suppliers LIMIT 1), -- Premier supplier existant
(SELECT id FROM groups LIMIT 1), -- Premier group existant
'TEST-REF-' || EXTRACT(EPOCH FROM NOW()),
29.99,
'Test avec vraies données',
false,
(SELECT id FROM users LIMIT 1)::varchar -- Premier user existant
) RETURNING id, created_at;