Moibe commited on
Commit
6a5b62e
·
1 Parent(s): 3e6e6a0

Agregar el campo estilo

Browse files
Files changed (5) hide show
  1. add_estilo.py +53 -0
  2. funciones.py +15 -12
  3. imagen_log.sql +1 -0
  4. main.py +2 -1
  5. models.py +2 -0
add_estilo.py ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ Script para agregar el campo 'estilo' a la tabla 'registro' en la base de datos remota
3
+ """
4
+
5
+ import mysql.connector
6
+ from dotenv import load_dotenv
7
+ import os
8
+
9
+ # Cargar variables de entorno
10
+ load_dotenv()
11
+
12
+ try:
13
+ # Conexión a la base de datos
14
+ conexion = mysql.connector.connect(
15
+ host=os.getenv('DB_HOST'),
16
+ user=os.getenv('DB_USER'),
17
+ password=os.getenv('mariadb_c'),
18
+ database=os.getenv('DB_NAME'),
19
+ port=int(os.getenv('DB_PORT', 3306)),
20
+ autocommit=True
21
+ )
22
+
23
+ cursor = conexion.cursor()
24
+
25
+ # Verificar si la columna ya existe
26
+ cursor.execute(f"""
27
+ SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
28
+ WHERE TABLE_NAME = 'registro' AND COLUMN_NAME = 'estilo'
29
+ """)
30
+
31
+ if cursor.fetchone():
32
+ print("ℹ️ El campo 'estilo' ya existe en la tabla")
33
+ else:
34
+ # Agregar la columna después de 'prompt_eval'
35
+ cursor.execute("""
36
+ ALTER TABLE registro
37
+ ADD COLUMN estilo varchar(255) AFTER prompt_eval
38
+ """)
39
+ print("✅ Campo 'estilo' agregado correctamente")
40
+
41
+ # Mostrar estructura actualizada
42
+ cursor.execute("DESCRIBE registro")
43
+ columnas = cursor.fetchall()
44
+
45
+ print("\n📋 Estructura actualizada:")
46
+ for col in columnas:
47
+ print(f" - {col[0]}: {col[1]}")
48
+
49
+ cursor.close()
50
+ conexion.close()
51
+
52
+ except Exception as e:
53
+ print(f"❌ Error: {str(e)}")
funciones.py CHANGED
@@ -40,23 +40,24 @@ def crear_registro(datos: RegistroRequest) -> dict:
40
  prompt = datos.prompt
41
  prompt_type = datos.prompt_type
42
  prompt_eval = datos.prompt_eval
 
43
  proveedor = datos.proveedor
44
  seed = datos.seed
45
 
46
- logger.info(f"📊 Datos a insertar - UID: {uid}, Usuario: {display_name}, País: {pais}, Email: {correo}, Prompt: {prompt}, Tipo: {prompt_type}, Prompt Eval: {prompt_eval}, Proveedor: {proveedor}")
47
 
48
  # Insertar en la BD
49
  cursor = conn.cursor()
50
 
51
  sql = """
52
  INSERT INTO `registro`
53
- (uid, display_name, pais, correo, fecha_registro, usos, prompt, prompt_type, prompt_eval, proveedor, seed)
54
- VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
55
  """
56
 
57
  valores = (
58
  uid, display_name, pais, correo, fecha_registro,
59
- usos, prompt, prompt_type, prompt_eval, proveedor, seed
60
  )
61
 
62
  cursor.execute(sql, valores)
@@ -72,7 +73,7 @@ def crear_registro(datos: RegistroRequest) -> dict:
72
  cursor.execute(
73
  """
74
  SELECT id, uid, display_name, pais, correo, fecha_registro,
75
- usos, prompt, prompt_type, prompt_eval, proveedor, seed, created_at
76
  FROM `registro`
77
  WHERE id = %s
78
  """,
@@ -98,9 +99,10 @@ def crear_registro(datos: RegistroRequest) -> dict:
98
  "prompt": registro[7],
99
  "prompt_type": registro[8],
100
  "prompt_eval": registro[9],
101
- "proveedor": registro[10],
102
- "seed": registro[11],
103
- "created_at": registro[12]
 
104
  }
105
  }
106
  else:
@@ -152,7 +154,7 @@ def obtener_registros(limit: int = 10, offset: int = 0) -> dict:
152
  cursor.execute(
153
  """
154
  SELECT id, uid, display_name, pais, correo, fecha_registro,
155
- usos, prompt, prompt_type, prompt_eval, proveedor, seed, created_at
156
  FROM `registro`
157
  ORDER BY created_at DESC
158
  LIMIT %s OFFSET %s
@@ -179,9 +181,10 @@ def obtener_registros(limit: int = 10, offset: int = 0) -> dict:
179
  "prompt": reg[7],
180
  "prompt_type": reg[8],
181
  "prompt_eval": reg[9],
182
- "proveedor": reg[10],
183
- "seed": reg[11],
184
- "created_at": reg[12]
 
185
  })
186
 
187
  logger.info(f"📈 Retornando {len(datos)} registros")
 
40
  prompt = datos.prompt
41
  prompt_type = datos.prompt_type
42
  prompt_eval = datos.prompt_eval
43
+ estilo = datos.estilo
44
  proveedor = datos.proveedor
45
  seed = datos.seed
46
 
47
+ logger.info(f"📊 Datos a insertar - UID: {uid}, Usuario: {display_name}, País: {pais}, Email: {correo}, Prompt: {prompt}, Tipo: {prompt_type}, Eval: {prompt_eval}, Estilo: {estilo}, Proveedor: {proveedor}")
48
 
49
  # Insertar en la BD
50
  cursor = conn.cursor()
51
 
52
  sql = """
53
  INSERT INTO `registro`
54
+ (uid, display_name, pais, correo, fecha_registro, usos, prompt, prompt_type, prompt_eval, estilo, proveedor, seed)
55
+ VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
56
  """
57
 
58
  valores = (
59
  uid, display_name, pais, correo, fecha_registro,
60
+ usos, prompt, prompt_type, prompt_eval, estilo, proveedor, seed
61
  )
62
 
63
  cursor.execute(sql, valores)
 
73
  cursor.execute(
74
  """
75
  SELECT id, uid, display_name, pais, correo, fecha_registro,
76
+ usos, prompt, prompt_type, prompt_eval, estilo, proveedor, seed, created_at
77
  FROM `registro`
78
  WHERE id = %s
79
  """,
 
99
  "prompt": registro[7],
100
  "prompt_type": registro[8],
101
  "prompt_eval": registro[9],
102
+ "estilo": registro[10],
103
+ "proveedor": registro[11],
104
+ "seed": registro[12],
105
+ "created_at": registro[13]
106
  }
107
  }
108
  else:
 
154
  cursor.execute(
155
  """
156
  SELECT id, uid, display_name, pais, correo, fecha_registro,
157
+ usos, prompt, prompt_type, prompt_eval, estilo, proveedor, seed, created_at
158
  FROM `registro`
159
  ORDER BY created_at DESC
160
  LIMIT %s OFFSET %s
 
181
  "prompt": reg[7],
182
  "prompt_type": reg[8],
183
  "prompt_eval": reg[9],
184
+ "estilo": reg[10],
185
+ "proveedor": reg[11],
186
+ "seed": reg[12],
187
+ "created_at": reg[13]
188
  })
189
 
190
  logger.info(f"📈 Retornando {len(datos)} registros")
imagen_log.sql CHANGED
@@ -9,6 +9,7 @@ CREATE TABLE `registro` (
9
  `prompt` varchar(255),
10
  `prompt_type` varchar(255),
11
  `prompt_eval` varchar(255),
 
12
  `proveedor` varchar(255),
13
  `seed` int,
14
  `created_at` timestamp
 
9
  `prompt` varchar(255),
10
  `prompt_type` varchar(255),
11
  `prompt_eval` varchar(255),
12
+ `estilo` varchar(255),
13
  `proveedor` varchar(255),
14
  `seed` int,
15
  `created_at` timestamp
main.py CHANGED
@@ -61,13 +61,14 @@ async def registrar(datos: RegistroRequest):
61
  - prompt: Prompt utilizado
62
  - prompt_type: Tipo de prompt
63
  - prompt_eval: Evaluación del prompt procesado
 
64
  - proveedor: Proveedor del servicio
65
  - seed: Seed para generación
66
 
67
  **Respuesta:** Retorna los datos del registro creado con su ID único
68
  """
69
 
70
- logger.info(f"📝 Nuevo registro - UID: {datos.uid}, Email: {datos.correo}, Prompt: {datos.prompt}, Tipo: {datos.prompt_type}, Eval: {datos.prompt_eval}")
71
 
72
  resultado = crear_registro(datos)
73
 
 
61
  - prompt: Prompt utilizado
62
  - prompt_type: Tipo de prompt
63
  - prompt_eval: Evaluación del prompt procesado
64
+ - estilo: Estilo para la generación
65
  - proveedor: Proveedor del servicio
66
  - seed: Seed para generación
67
 
68
  **Respuesta:** Retorna los datos del registro creado con su ID único
69
  """
70
 
71
+ logger.info(f"📝 Nuevo registro - UID: {datos.uid}, Email: {datos.correo}, Prompt: {datos.prompt}, Tipo: {datos.prompt_type}, Eval: {datos.prompt_eval}, Estilo: {datos.estilo}")
72
 
73
  resultado = crear_registro(datos)
74
 
models.py CHANGED
@@ -16,6 +16,7 @@ class RegistroRequest(BaseModel):
16
  prompt: Optional[str] = Field(None, max_length=255, description="Prompt utilizado")
17
  prompt_type: Optional[str] = Field(None, max_length=255, description="Tipo de prompt")
18
  prompt_eval: Optional[str] = Field(None, max_length=255, description="Evaluación del prompt")
 
19
  proveedor: Optional[str] = Field(None, max_length=255, description="Proveedor del servicio")
20
  seed: Optional[int] = Field(None, description="Seed para generación")
21
 
@@ -42,6 +43,7 @@ class RegistroResponse(BaseModel):
42
  prompt: Optional[str]
43
  prompt_type: Optional[str]
44
  prompt_eval: Optional[str]
 
45
  proveedor: Optional[str]
46
  seed: Optional[int]
47
  created_at: datetime
 
16
  prompt: Optional[str] = Field(None, max_length=255, description="Prompt utilizado")
17
  prompt_type: Optional[str] = Field(None, max_length=255, description="Tipo de prompt")
18
  prompt_eval: Optional[str] = Field(None, max_length=255, description="Evaluación del prompt")
19
+ estilo: Optional[str] = Field(None, max_length=255, description="Estilo para la generación")
20
  proveedor: Optional[str] = Field(None, max_length=255, description="Proveedor del servicio")
21
  seed: Optional[int] = Field(None, description="Seed para generación")
22
 
 
43
  prompt: Optional[str]
44
  prompt_type: Optional[str]
45
  prompt_eval: Optional[str]
46
+ estilo: Optional[str]
47
  proveedor: Optional[str]
48
  seed: Optional[int]
49
  created_at: datetime