CREATE TABLE IF NOT EXISTS users (id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,email VARCHAR(190) NOT NULL UNIQUE,password_hash VARCHAR(255) NOT NULL,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS settings (name VARCHAR(100) PRIMARY KEY,value TEXT NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS content (id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,type ENUM('page','project','publication','news','event','team','partner') NOT NULL,title VARCHAR(220) NOT NULL,slug VARCHAR(220) NOT NULL UNIQUE,summary TEXT NOT NULL,body LONGTEXT NOT NULL,image_url VARCHAR(255) NOT NULL DEFAULT '',status ENUM('draft','published') NOT NULL DEFAULT 'draft',created_at DATETIME NOT NULL,updated_at DATETIME NOT NULL,INDEX idx_type_status_updated(type,status,updated_at)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS messages (id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,name VARCHAR(150) NOT NULL,email VARCHAR(190) NOT NULL,message TEXT NOT NULL,created_at DATETIME NOT NULL,INDEX idx_created(created_at)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Install sample content separately using database/sample-content.sql.
