[ Mini Kiebo ]
Server: Windows NT AKFAR_SERVER 10.0 build 26200 (Windows 10) AMD64
Path:
D:
/
xampp
/
htdocs
/
campus_repo
/
db
/
[
Home
]
File: schema.sql
-- Buat database CREATE DATABASE campus_repo; USE campus_repo; -- Tabel Users CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(100) UNIQUE NOT NULL, password VARCHAR(255) NOT NULL, -- simpan hash password email VARCHAR(150) UNIQUE NOT NULL, role ENUM('student','editor','admin') DEFAULT 'student', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- Tabel Documents CREATE TABLE documents ( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, authors VARCHAR(255), abstract TEXT, keywords VARCHAR(255), year INT, type VARCHAR(50), subject_area VARCHAR(100), -- kolom yang sebelumnya error file_path VARCHAR(255) NOT NULL, mime_type VARCHAR(100), size_bytes INT, uploader_id INT, status ENUM('submitted','approved','rejected') DEFAULT 'submitted', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (uploader_id) REFERENCES users(id) ON DELETE CASCADE ); -- Tabel Admin Logs (opsional, untuk audit) CREATE TABLE admin_logs ( id INT AUTO_INCREMENT PRIMARY KEY, admin_id INT, action VARCHAR(255), document_id INT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (admin_id) REFERENCES users(id) ON DELETE CASCADE, FOREIGN KEY (document_id) REFERENCES documents(id) ON DELETE CASCADE ); -- Tabel Sessions (opsional, jika ingin simpan sesi login) CREATE TABLE sessions ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT, session_token VARCHAR(255), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, expires_at TIMESTAMP, FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE );