first commit
This commit is contained in:
26
database/migrations/005_create_password_resets.php
Normal file
26
database/migrations/005_create_password_resets.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Migration 005 — Création de la table de réinitialisation de mot de passe.
|
||||
*
|
||||
* token_hash : hash SHA-256 du token envoyé par email — le token brut
|
||||
* n'est jamais stocké en base pour limiter l'impact d'une fuite.
|
||||
* expires_at : timestamp d'expiration (1 heure après création).
|
||||
* used_at : timestamp de consommation — le token est invalidé après usage
|
||||
* sans être supprimé immédiatement (traçabilité).
|
||||
* user_id : CASCADE — supprime les tokens si l'utilisateur est supprimé.
|
||||
*/
|
||||
return [
|
||||
'up' => "
|
||||
CREATE TABLE IF NOT EXISTS password_resets (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
token_hash TEXT NOT NULL UNIQUE,
|
||||
expires_at DATETIME NOT NULL,
|
||||
used_at DATETIME DEFAULT NULL,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
||||
)
|
||||
",
|
||||
|
||||
'down' => 'DROP TABLE IF EXISTS password_resets',
|
||||
];
|
||||
Reference in New Issue
Block a user