labfy-investigation/database/schema_v4.sql
2026-07-22 15:03:13 +02:00

39 lines
1.4 KiB
SQL

/******************************************************************************
* Labfy Investigation
*
* Migration du schéma SQLite V3 vers V4 : comptes de réseaux sociaux
******************************************************************************/
INSERT INTO types_entite (code, label, description) VALUES
('tiktok_account', 'Compte TikTok', NULL),
('x_account', 'Compte X', NULL),
('telegram_account', 'Compte Telegram', NULL),
('social_account', 'Autre compte social', NULL);
CREATE TABLE comptes_sociaux
(
entite_id TEXT PRIMARY KEY,
plateforme TEXT NOT NULL,
url_profil TEXT NOT NULL,
pseudonyme TEXT NOT NULL,
identifiant_plateforme TEXT,
premiere_observation TEXT NOT NULL,
etat_compte TEXT NOT NULL DEFAULT 'unknown',
notes TEXT,
FOREIGN KEY (entite_id)
REFERENCES entites(id)
ON UPDATE CASCADE
ON DELETE CASCADE,
UNIQUE (plateforme, url_profil),
CHECK (plateforme IN ('tiktok', 'instagram', 'facebook', 'x', 'telegram', 'other')),
CHECK (length(trim(url_profil)) > 0),
CHECK (length(trim(pseudonyme)) > 0),
CHECK (length(premiere_observation) = 20),
CHECK (etat_compte IN ('active', 'private', 'suspended', 'deleted', 'unknown'))
);
CREATE INDEX idx_comptes_sociaux_pseudonyme
ON comptes_sociaux(plateforme, pseudonyme);