ultisuite-backend/migrations/000013_unified_folders.up.sql
2026-05-24 00:03:36 +02:00

18 lines
926 B
SQL

-- Dossiers Ultimail (virtuels) : organisation UI, pas miroir IMAP.
-- account_id NULL = dossier global utilisateur ; non NULL = dossier lié à un compte mail.
CREATE TABLE mail_unified_folders (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
account_id UUID NULL REFERENCES mail_accounts(id) ON DELETE CASCADE,
parent_id UUID NULL REFERENCES mail_unified_folders(id) ON DELETE CASCADE,
name TEXT NOT NULL,
color TEXT NOT NULL DEFAULT '',
sort_order INT NOT NULL DEFAULT 0,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX idx_mail_unified_folders_user ON mail_unified_folders(user_id);
CREATE INDEX idx_mail_unified_folders_user_account ON mail_unified_folders(user_id, account_id);
CREATE INDEX idx_mail_unified_folders_parent ON mail_unified_folders(parent_id);