Spaces:
Sleeping
Sleeping
| """ | |
| 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)}") | |