-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdatabase_setup.sql
More file actions
61 lines (56 loc) · 2.43 KB
/
Copy pathdatabase_setup.sql
File metadata and controls
61 lines (56 loc) · 2.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
-- Configuración de la base de datos para el proyecto SoftCall
--
-- Para usar este archivo:
-- 1. Abre phpMyAdmin en tu navegador (normalmente http://localhost/phpmyadmin).
-- 2. Ve a la pestaña "Importar".
-- 3. Haz clic en "Seleccionar archivo" y elige este archivo (database_setup.sql).
-- 4. Haz clic en el botón "Continuar" o "Go" en la parte inferior de la página.
-- 1. Creación de la base de datos
-- Si la base de datos ya existe, este comando puede dar un error. Puedes ignorarlo o eliminar la base de datos existente.
CREATE DATABASE IF NOT EXISTS sena_final_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 2. Seleccionar la base de datos para usarla
USE sena_final_db;
-- 3. Creación de la tabla de usuarios
-- Esta tabla almacenará toda la información de los usuarios registrados.
CREATE TABLE IF NOT EXISTS usuarios (
id INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL,
apellido VARCHAR(100) NOT NULL,
username VARCHAR(50) NOT NULL UNIQUE,
documento VARCHAR(20) NOT NULL UNIQUE,
email VARCHAR(100) NOT NULL UNIQUE,
cargo VARCHAR(50) NOT NULL,
area VARCHAR(100) DEFAULT NULL,
fecha_contratacion DATE NOT NULL,
password_hash VARCHAR(255) NOT NULL,
reset_token VARCHAR(255) DEFAULT NULL,
reset_token_expires_at DATETIME DEFAULT NULL,
fecha_creacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB;
-- (Opcional) Insertar un usuario administrador de ejemplo
-- Usuario: admin@softcall.com
-- Contraseña: admin123
-- El hash de la contraseña puede variar ligeramente cada vez que se genera.
INSERT INTO usuarios (nombre, apellido, username, documento, email, cargo, fecha_contratacion, password_hash)
VALUES (
'Admin',
'Principal',
'admin',
'00000000',
'admin@softcall.com',
'Administrador',
CURDATE(),
'$2y$10$9.G/MIg34/5f5d6a3gHh2uOFx.d27/3c6b5e1gHh2uOFx.d27/3c6b5e1' -- Esto es un hash de ejemplo para 'admin123', el controlador generará uno real.
) ON DUPLICATE KEY UPDATE username = 'admin'; -- No hacer nada si el usuario ya existe
-- 4. Creación de la tabla de auditorías
CREATE TABLE IF NOT EXISTS auditorias (
id INT AUTO_INCREMENT PRIMARY KEY,
id_usuario INT,
calificacion_final INT,
nombre_evaluador VARCHAR(255),
id_llamada VARCHAR(255),
fecha_llamada DATE,
observaciones TEXT,
fecha_creacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (id_usuario) REFERENCES usuarios(id)
) ENGINE=InnoDB;