#!/usr/bin/env python3 """Script para crear la tabla de registro en MariaDB""" from connection import get_connection import sys def init_database(): """Crea la tabla de registro si no existe""" conn = get_connection() if not conn: print("❌ Error: No se pudo conectar a la base de datos") sys.exit(1) try: cursor = conn.cursor() # SQL para crear la tabla sql_create_table = """ CREATE TABLE IF NOT EXISTS `registro` ( `id` BINARY(16) PRIMARY KEY COMMENT 'UUID en formato binario', `display_name` VARCHAR(255) COMMENT 'Nombre mostrado del usuario', `pais` VARCHAR(255) COMMENT 'País del usuario', `correo` VARCHAR(255) UNIQUE COMMENT 'Email del usuario', `fecha_registro` DATETIME COMMENT 'Fecha de registro', `usos` INT DEFAULT 0 COMMENT 'Cantidad de usos', `prompt` VARCHAR(255) COMMENT 'Prompt utilizado', `proveedor` VARCHAR(255) COMMENT 'Proveedor del servicio', `seed` INT COMMENT 'Seed para generación', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 'Fecha de creación', KEY `idx_correo` (`correo`), KEY `idx_pais` (`pais`), KEY `idx_fecha_registro` (`fecha_registro`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Tabla de registro de usuarios' """ cursor.execute(sql_create_table) conn.commit() print("✅ Tabla 'registro' creada correctamente") # Verificar la tabla cursor.execute("DESCRIBE `registro`") columnas = cursor.fetchall() print("\n📋 Estructura de la tabla:") print("-" * 60) for col in columnas: print(f" {col[0]:<20} {col[1]:<30} {col[2]}") cursor.close() conn.close() except Exception as e: print(f"❌ Error al crear la tabla: {e}") sys.exit(1) if __name__ == "__main__": print("🔨 Inicializando base de datos...") print("-" * 60) init_database() print("\n✅ Base de datos lista para usar")