File size: 2,011 Bytes
6dc5ac9
61c4334
6dc5ac9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
61c4334
6dc5ac9
 
 
 
 
 
 
 
 
 
61c4334
6dc5ac9
 
 
 
 
61c4334
6dc5ac9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
#!/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")