Working state
This commit is contained in:
@@ -1,28 +1,21 @@
|
||||
<?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,
|
||||
hash TEXT NOT NULL,
|
||||
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);
|
||||
CREATE INDEX IF NOT EXISTS idx_media_hash_user_id ON media(hash, user_id);
|
||||
",
|
||||
|
||||
'down' => "
|
||||
DROP INDEX IF EXISTS idx_media_hash_user_id;
|
||||
DROP INDEX IF EXISTS idx_media_user_id;
|
||||
DROP TABLE IF EXISTS media;
|
||||
",
|
||||
|
||||
Reference in New Issue
Block a user