Files
slim-blog/database/migrations/004_create_media.php
2026-03-16 01:47:07 +01:00

30 lines
956 B
PHP

<?php
/**
* Migration 004 — Création de la table des médias uploadés.
*
* La colonne hash (SHA-256) est unique et permet la détection des doublons à l'upload.
* user_id est nullable : SET NULL si le compte auteur est supprimé.
*
* Index explicite sur user_id : SQLite n'indexe pas automatiquement les FK.
* Utilisé par findByUserId() dans la galerie média.
*/
return [
'up' => "
CREATE TABLE IF NOT EXISTS media (
id INTEGER PRIMARY KEY AUTOINCREMENT,
filename TEXT NOT NULL,
url TEXT NOT NULL,
hash TEXT NOT NULL UNIQUE,
user_id INTEGER REFERENCES users(id) ON DELETE SET NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX IF NOT EXISTS idx_media_user_id ON media(user_id);
",
'down' => "
DROP INDEX IF EXISTS idx_media_user_id;
DROP TABLE IF EXISTS media;
",
];