Files
ruleta-con-pin/database/schema.sql
T

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');