23 lines
919 B
MySQL
23 lines
919 B
MySQL
|
|
-- Create users table
|
||
|
|
CREATE TABLE IF NOT EXISTS users (
|
||
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
||
|
|
username VARCHAR(100) NOT NULL UNIQUE,
|
||
|
|
password VARCHAR(255) NOT NULL,
|
||
|
|
email VARCHAR(255),
|
||
|
|
full_name VARCHAR(255),
|
||
|
|
is_active BOOLEAN DEFAULT TRUE,
|
||
|
|
last_login TIMESTAMP NULL,
|
||
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||
|
|
INDEX idx_username (username),
|
||
|
|
INDEX idx_email (email)
|
||
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||
|
|
|
||
|
|
-- Insert default admin user
|
||
|
|
-- Password is randomly generated during migration and displayed in output
|
||
|
|
-- Hash placeholder will be replaced by migrate.php
|
||
|
|
INSERT INTO users (username, password, email, full_name, is_active) VALUES
|
||
|
|
('admin', '{{ADMIN_PASSWORD_HASH}}', 'admin@domainmonitor.local', 'Administrator', 1)
|
||
|
|
ON DUPLICATE KEY UPDATE username=username;
|
||
|
|
|