Spaces:
Running
Running
| #!/usr/bin/env python3 | |
| """Script para quitar todos los UNIQUE de la tabla creacion""" | |
| from connection import get_connection | |
| import sys | |
| def quitar_todos_unique(): | |
| """Elimina todas las restricciones UNIQUE""" | |
| conn = get_connection() | |
| if not conn: | |
| print("❌ Error: No se pudo conectar a la base de datos") | |
| sys.exit(1) | |
| try: | |
| cursor = conn.cursor() | |
| print("🔧 Eliminando todas las restricciones UNIQUE...") | |
| print("-" * 60) | |
| # Obtener todos los índices UNIQUE | |
| cursor.execute(""" | |
| SELECT CONSTRAINT_NAME | |
| FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE | |
| WHERE TABLE_NAME = 'creacion' | |
| AND COLUMN_NAME IN ('uid', 'correo') | |
| AND CONSTRAINT_NAME != 'PRIMARY' | |
| """) | |
| constraints = cursor.fetchall() | |
| if constraints: | |
| for constraint in constraints: | |
| constraint_name = constraint[0] | |
| print(f" Eliminando índice: {constraint_name}") | |
| cursor.execute(f"ALTER TABLE `creacion` DROP INDEX `{constraint_name}`") | |
| conn.commit() | |
| print("\n✅ Todos los UNIQUE eliminados") | |
| # Verificar índices finales | |
| cursor.execute("SHOW INDEXES FROM `creacion`") | |
| indices = cursor.fetchall() | |
| print("\n🔑 Índices de la tabla (finales):") | |
| print("-" * 60) | |
| for idx in indices: | |
| print(f" Columna: {idx[4]:<20} Tipo: {idx[2]:<20} Único: {idx[1]}") | |
| cursor.close() | |
| conn.close() | |
| print("\n✅ Tabla actualizada correctamente") | |
| except Exception as e: | |
| print(f"❌ Error: {e}") | |
| sys.exit(1) | |
| if __name__ == "__main__": | |
| print("\n🔄 Quitando todas las restricciones UNIQUE...") | |
| print("=" * 60) | |
| quitar_todos_unique() | |
| print("=" * 60) | |
| print("\nℹ️ Ahora uid y correo pueden tener valores duplicados") | |