28 lines
981 B
SQL
28 lines
981 B
SQL
-- Create password_resets table
|
|
CREATE TABLE IF NOT EXISTS password_resets (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
email VARCHAR(255) NOT NULL,
|
|
token VARCHAR(255) NOT NULL,
|
|
expires_at DATETIME NOT NULL,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
INDEX (email),
|
|
INDEX (token)
|
|
);
|
|
|
|
-- Create user_sessions table
|
|
CREATE TABLE IF NOT EXISTS user_sessions (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
user_id INT NOT NULL,
|
|
ip_address VARCHAR(45) NOT NULL,
|
|
country VARCHAR(100) DEFAULT NULL,
|
|
user_agent TEXT DEFAULT NULL,
|
|
login_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
INDEX (user_id),
|
|
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
|
|
);
|
|
|
|
-- Add tracking columns to users
|
|
ALTER TABLE users ADD COLUMN IF NOT EXISTS last_login_at DATETIME DEFAULT NULL;
|
|
ALTER TABLE users ADD COLUMN IF NOT EXISTS last_login_ip VARCHAR(45) DEFAULT NULL;
|
|
ALTER TABLE users ADD COLUMN IF NOT EXISTS welcome_email_sent_at DATETIME DEFAULT NULL;
|