Spaces:
Sleeping
Sleeping
File size: 2,160 Bytes
4889299 09dd636 4889299 09dd636 4889299 09dd636 4889299 | 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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | """
Script para alterar la tabla 'action_call' en la base de datos remota
Agrega id como PRIMARY KEY y convierte usuario en UNIQUE
"""
import mysql.connector
from dotenv import load_dotenv
import os
# Cargar variables de entorno
load_dotenv()
try:
# Conexión a la base de datos
conexion = mysql.connector.connect(
host=os.getenv('DB_HOST'),
user=os.getenv('DB_USER'),
password=os.getenv('mariadb_c'),
database=os.getenv('DB_NAME'),
port=int(os.getenv('DB_PORT', 3306)),
autocommit=True
)
cursor = conexion.cursor()
# Verificar si la columna id ya existe
cursor.execute(f"""
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'action_call' AND COLUMN_NAME = 'id'
""")
if cursor.fetchone():
print("ℹ️ El campo 'id' ya existe en la tabla")
else:
# Paso 1: Agregar la columna id
print("📝 Agregando columna id...")
cursor.execute("""
ALTER TABLE actions
ADD COLUMN id INT AUTO_INCREMENT UNIQUE FIRST
""")
print("✅ Columna 'id' agregada")
# Paso 2: Hacer id la PRIMARY KEY
print("📝 Configurando id como PRIMARY KEY...")
cursor.execute("""
ALTER TABLE actions
DROP PRIMARY KEY,
ADD PRIMARY KEY (id)
""")
print("✅ id configurado como PRIMARY KEY")
# Paso 3: Hacer usuario UNIQUE (si no lo es ya)
print("📝 Configurando usuario como UNIQUE...")
cursor.execute("""
ALTER TABLE actions
ADD UNIQUE KEY unique_usuario (usuario)
""")
print("✅ usuario configurado como UNIQUE")
print("\n✅ Tabla riestructurada exitosamente")
# Mostrar estructura actualizada
cursor.execute("DESCRIBE action_call")
columnas = cursor.fetchall()
print("\n📋 Estructura actualizada:")
for col in columnas:
print(f" - {col[0]}: {col[1]}")
cursor.close()
conexion.close()
except Exception as e:
print(f"❌ Error: {str(e)}")
|