55 lines
2.4 KiB
SQL
55 lines
2.4 KiB
SQL
-- =========================================================
|
|
-- RuletaFullConPIN — Esquema de Base de Datos
|
|
-- =========================================================
|
|
-- Ejecutar este script en MySQL/MariaDB para crear la
|
|
-- estructura necesaria antes de usar la aplicación.
|
|
-- =========================================================
|
|
|
|
CREATE DATABASE IF NOT EXISTS ruleta_db
|
|
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
USE ruleta_db;
|
|
|
|
-- ---------------------------------------------------------
|
|
-- 1. Control de giros global (un único registro, id = 1)
|
|
-- ---------------------------------------------------------
|
|
CREATE TABLE IF NOT EXISTS girospermitidos (
|
|
id INT PRIMARY KEY,
|
|
cantidad INT NOT NULL
|
|
);
|
|
|
|
INSERT INTO girospermitidos (id, cantidad)
|
|
VALUES (1, 100000) -- Ajusta el cupo según la campaña
|
|
ON DUPLICATE KEY UPDATE cantidad = VALUES(cantidad);
|
|
|
|
-- ---------------------------------------------------------
|
|
-- 2. Premios disponibles (vinculados a un PIN / usuario)
|
|
-- ---------------------------------------------------------
|
|
CREATE TABLE IF NOT EXISTS premiosnew (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
nombre VARCHAR(190) NOT NULL, -- Nombre del premio a mostrar
|
|
probabilidad DECIMAL(10,6) NOT NULL, -- Peso relativo (0..1 o cualquier peso)
|
|
cantidad INT NOT NULL, -- Stock disponible
|
|
inicio INT NOT NULL, -- Ángulo inicial en la ruleta (0-360)
|
|
final INT NOT NULL, -- Ángulo final en la ruleta (0-360)
|
|
nombre_usuario VARCHAR(64) NOT NULL -- PIN que puede ganar este premio
|
|
);
|
|
|
|
-- ---------------------------------------------------------
|
|
-- 3. Registro de premios entregados (auditoría)
|
|
-- ---------------------------------------------------------
|
|
CREATE TABLE IF NOT EXISTS premiosentregados (
|
|
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
nombre_usuario VARCHAR(64) NOT NULL, -- PIN usado
|
|
premio VARCHAR(190) NOT NULL, -- Nombre del premio ganado
|
|
ip_address VARCHAR(64) NULL,
|
|
user_agent VARCHAR(255) NULL,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
-- ---------------------------------------------------------
|
|
-- Ejemplo: Cargar un premio para el PIN "1989"
|
|
-- ---------------------------------------------------------
|
|
-- INSERT INTO premiosnew (nombre, probabilidad, cantidad, inicio, final, nombre_usuario)
|
|
-- VALUES ('Gorra', 1.0, 10, 0, 45, '1989');
|