ScienceForChange / SoundCollect_dashboard

0 stars 0 forks source link

Question values update in database #88

Closed OtariOboladzeSfC closed 3 months ago

OtariOboladzeSfC commented 3 months ago

para el campo "quiet" los valores nuevos son:

Gens tranquil - 1 Poc tranquil - 2 Moderament tranquil - 3 Bastant tranquil - 4 Molt tranquil - 5

he dejado los numeros como STRING, porque desde la app todavia no han cambiado el tipo de respuesta, una nez modificado - dejaré los numeros como INTEGER.

Tambien hay alguna observacion con el valor NULL para tener en cuenta, ahora mismo es obligatorio pero hay observaciones cuando campo "quiet" no era obligatorio

@almenarasfc

_Originally posted by @OtariOboladzeSfC in #20_

The same needs to be done for these questions: 'limpieza y mantenemiento', 'accesibilidad' y 'seguridad'

They all have the same set of answers.

Can you change value into numerics but still with the type sting? like 'Regular' will become '3'

muy malo - 1 malo - 2 regular - 3 bueno - 4 muy bieno - 5

@CarlosMillanSfC

CarlosMillanSfC commented 3 months ago
safety count(id)
De pas, caminant 31
Relaxar-se 27
Esperar 9
Regular 63
Leer 5
Bona 111
Molt dolenta 10
Molt bona 40
Dolenta 18
Very good 2
Muy mala 1
Mala 3
Buena 6
Muy buena 6
NULL 2
Good 2
Neither good, nor bad 1
cleanliness count(id)
Regular 89
Bo 52
Dolent 26
Molt dolent 5
Molt dolenta 4
Dolenta 4
Molt bona 45
Malo 2
Very good 1
Good 3
Bona 91
Bueno 7
Muy bueno 5
NULL 2
Bad 1
accessibility count(id)
Molt b� 36
B� 25
Ni bo, ni dolent 10
Dolenta 20
Regular 60
Molt dolenta 11
Bona 94
Buena 7
Malo 1
Dolent 1
Molt bona 58
Very good 2
Neither good, nor bad 2
Mala 2
Muy Buena 5
NULL 2
Good 1
CarlosMillanSfC commented 3 months ago

mysql> select id from observations where safety is null or accessibility is null or cleanliness is null; +--------------------------------------+ | id | +--------------------------------------+ | 9c0e7b98-1f9c-4f04-aebe-0f74a49290d9 | | 9c0e7bc4-9dd2-4239-ad77-4388504e7356 | +--------------------------------------+ 2 rows in set (0.00 sec)

CarlosMillanSfC commented 3 months ago

para el campo "quiet" los valores nuevos son: Gens tranquil - 1 Poc tranquil - 2 Moderament tranquil - 3 Bastant tranquil - 4 Molt tranquil - 5 he dejado los numeros como STRING, porque desde la app todavia no han cambiado el tipo de respuesta, una nez modificado - dejaré los numeros como INTEGER. Tambien hay alguna observacion con el valor NULL para tener en cuenta, ahora mismo es obligatorio pero hay observaciones cuando campo "quiet" no era obligatorio @almenarasfc

_Originally posted by @OtariOboladzeSfC in #20_

The same needs to be done for these questions: 'limpieza y mantenemiento', 'accesibilidad' y 'seguridad'

They all have the same set of answers.

Can you change value into numerics but still with the type sting? like 'Regular' will become '3'

muy malo - 1 malo - 2 regular - 3 bueno - 4 muy bieno - 5

@CarlosMillanSfC

@OtariOboladzeSfC as i can see from the tables in the database they do not have the same set of answers, is there anywhere documentation about what can means those values? Cant proceed until I know, so please tell me because im blocked.

almenarasfc commented 3 months ago

mysql> select id from observations where safety is null or accessibility is null or cleanliness is null; +--------------------------------------+ | id | +--------------------------------------+ | 9c0e7b98-1f9c-4f04-aebe-0f74a49290d9 | | 9c0e7bc4-9dd2-4239-ad77-4388504e7356 | +--------------------------------------+ 2 rows in set (0.00 sec)

Creo que son dos observaciones con las que ya me he encontrado, puede ser que no tengan ninguno de los datos, quiza habria que borrarlas ¿?

CarlosMillanSfC commented 3 months ago

mysql> select id from observations where safety is null or accessibility is null or cleanliness is null; +--------------------------------------+ | id | +--------------------------------------+ | 9c0e7b98-1f9c-4f04-aebe-0f74a49290d9 | | 9c0e7bc4-9dd2-4239-ad77-4388504e7356 | +--------------------------------------+ 2 rows in set (0.00 sec)

Creo que son dos observaciones con las que ya me he encontrado, puede ser que no tengan ninguno de los datos, quiza habria que borrarlas ¿?

Sí, están completamente vacías, puedo ver de borrarlas, a ver qué dice @OtariOboladzeSfC

mysql> select * from observations where id in ('9c0e7b98-1f9c-4f04-aebe-0f74a49290d9', '9c0e7bc4-9dd2-4239-ad77-4388504e7356')\G 1. row id: 9c0e7b98-1f9c-4f04-aebe-0f74a49290d9 Leq: NULL LAeqT: NULL LAmax: NULL LAmin: NULL L90: NULL L10: NULL sharpness_S: NULL loudness_N: NULL roughtness_R: NULL fluctuation_strength_F: NULL images: NULL longitude: 12.00000 latitude: 12.00000 quiet: NULL cleanliness: NULL accessibility: NULL safety: NULL influence: NULL landmark: NULL protection: NULL user_id: 9c0e6d0a-af82-4cee-8277-c14c6c114ec4 created_at: 2024-05-16 11:49:30 updated_at: 2024-05-16 11:49:30 deleted_at: NULL temperature: NULL pressure: NULL humidity: NULL wind_speed: NULL pleasant: NULL chaotic: NULL vibrant: NULL uneventful: NULL calm: NULL annoying: NULL eventfull: NULL monotonous: NULL overall: NULL path: 12 2. row id: 9c0e7bc4-9dd2-4239-ad77-4388504e7356 Leq: NULL LAeqT: NULL LAmax: NULL LAmin: NULL L90: NULL L10: NULL sharpness_S: NULL loudness_N: NULL roughtness_R: NULL fluctuation_strength_F: NULL images: NULL longitude: 12.00000 latitude: 12.00000 quiet: NULL cleanliness: NULL accessibility: NULL safety: NULL influence: NULL landmark: NULL protection: NULL user_id: 9c0e6d0a-af82-4cee-8277-c14c6c114ec4 created_at: 2024-05-16 11:49:59 updated_at: 2024-05-16 11:49:59 deleted_at: NULL temperature: NULL pressure: NULL humidity: NULL wind_speed: NULL pleasant: NULL chaotic: NULL vibrant: NULL uneventful: NULL calm: NULL annoying: NULL eventfull: NULL monotonous: NULL overall: NULL path: 12 2 rows in set (0.00 sec)

OtariOboladzeSfC commented 3 months ago

@CarlosMillanSfC sí, se puede borrar estas dos observaciones

CarlosMillanSfC commented 3 months ago

@CarlosMillanSfC sí, se puede borrar estas dos observaciones

done mysql> delete from observations where id in ('9c0e7b98-1f9c-4f04-aebe-0f74a49290d9', '9c0e7bc4-9dd2-4239-ad77-4388504e7356'); Query OK, 2 rows affected (0.04 sec)

OtariOboladzeSfC commented 3 months ago

para el campo "quiet" los valores nuevos son: Gens tranquil - 1 Poc tranquil - 2 Moderament tranquil - 3 Bastant tranquil - 4 Molt tranquil - 5 he dejado los numeros como STRING, porque desde la app todavia no han cambiado el tipo de respuesta, una nez modificado - dejaré los numeros como INTEGER. Tambien hay alguna observacion con el valor NULL para tener en cuenta, ahora mismo es obligatorio pero hay observaciones cuando campo "quiet" no era obligatorio @almenarasfc

_Originally posted by @OtariOboladzeSfC in #20_ The same needs to be done for these questions: 'limpieza y mantenemiento', 'accesibilidad' y 'seguridad' They all have the same set of answers. Can you change value into numerics but still with the type sting? like 'Regular' will become '3' muy malo - 1 malo - 2 regular - 3 bueno - 4 muy bieno - 5 @CarlosMillanSfC

@OtariOboladzeSfC as i can see from the tables in the database they do not have the same set of answers, is there anywhere documentation about what can means those values? Cant proceed until I know, so please tell me because im blocked.

'limpieza', 'accesibilidad' y 'seguridad' tienen el mismo tipo respuesta en el front:

image

'accesibility' respuestas en db: image

'limpieza' respuestas en db: image

'safety' respuestas en db: image

se pueden reducir hasta uno de estos 5 respuestas:

muy malo - 1 malo - 2 regular - 3 bueno - 4 muy bieno - 5

la diferencia de los valores en las respuestas está en el idioma

CarlosMillanSfC commented 3 months ago

@OtariOboladzeSfC Entiendo que las respuestas están mezcladas tanto en inglés como en catalán y español pero no puedo hacer un cambio así con lo que "supongo" es a lo que se refiere, no pueden haber 5 opciones a las que tengo que cambiar 14 opciones. Necesito saber qué texto corresponde a qué número y hago la query que lo cambie

OtariOboladzeSfC commented 3 months ago

aquí están los valores nuevos para cada respuesta: https://docs.google.com/spreadsheets/d/1hJJBKJsOXBWGSjktIcHUqzCDkq7Fqskjwy4Pr3imIeU/edit?usp=sharing

CarlosMillanSfC commented 3 months ago

Ya están cambiados los valores, antes de hacerlo hice una copia de seguridad de la bbdd que está en el propio servidor, en la ruta: /usr/src/mysqldata_2024-07-02/

y las queries ejecutadas, con el resultado de las filas afectadas, son:

-- SAFETY

UPDATE observations SET safety = 1 WHERE safety IN ( SELECT safety FROM ( SELECT safety FROM observations WHERE safety in ('Molt dolenta', 'Muy mala') ) AS subquery ) Query OK, 11 rows affected (0.01 sec) Rows matched: 11 Changed: 11 Warnings: 0

UPDATE observations SET safety = 2 WHERE safety IN ( SELECT safety FROM ( SELECT safety FROM observations WHERE safety in ('Dolenta', 'Mala') ) AS subquery ) Query OK, 21 rows affected (0.01 sec) Rows matched: 21 Changed: 21 Warnings: 0

UPDATE observations SET safety = 3 WHERE safety IN ( SELECT safety FROM ( SELECT safety FROM observations WHERE safety in ('De pas, caminant', 'Esperar', 'Regular', 'Leer', 'Neither good, nor bad') ) AS subquery ) Query OK, 109 rows affected (0.02 sec) Rows matched: 109 Changed: 109 Warnings: 0

UPDATE observations SET safety = 4 WHERE safety IN ( SELECT safety FROM ( SELECT safety FROM observations WHERE safety in ('Relaxar-se', 'Bona', 'Buena', 'Good') ) AS subquery ) Query OK, 146 rows affected (0.03 sec) Rows matched: 146 Changed: 146 Warnings: 0

UPDATE observations SET safety = 5 WHERE safety IN ( SELECT safety FROM ( SELECT safety FROM observations WHERE safety in ('Molt bona', 'Very good', 'Muy buena') ) AS subquery ) Query OK, 48 rows affected (0.02 sec) Rows matched: 48 Changed: 48 Warnings: 0

-- ACCESSIBILITY

UPDATE observations SET accessibility = 1 WHERE accessibility IN ( SELECT accessibility FROM ( SELECT accessibility FROM observations WHERE accessibility in ('Molt dolenta') ) AS subquery ) Query OK, 11 rows affected (0.01 sec) Rows matched: 11 Changed: 11 Warnings: 0

UPDATE observations SET accessibility = 2 WHERE accessibility IN ( SELECT accessibility FROM ( SELECT accessibility FROM observations WHERE accessibility in ('Dolenta', 'Malo', 'Dolent', 'Mala') ) AS subquery ) Query OK, 24 rows affected (0.01 sec) Rows matched: 24 Changed: 24 Warnings: 0

UPDATE observations SET accessibility = 3 WHERE accessibility IN ( SELECT accessibility FROM ( SELECT accessibility FROM observations WHERE accessibility in ('Ni bo, ni dolent', 'Regular', 'Neither good, nor bad') ) AS subquery ) Query OK, 72 rows affected (0.02 sec) Rows matched: 72 Changed: 72 Warnings: 0

UPDATE observations SET accessibility = 4 WHERE accessibility IN ( SELECT accessibility FROM ( SELECT accessibility FROM observations WHERE accessibility in ('Bé', 'Bona', 'Buena', 'Good') ) AS subquery ) Query OK, 102 rows affected (0.03 sec) Rows matched: 102 Changed: 102 Warnings: 0

UPDATE observations SET accessibility = 5
WHERE accessibility IN ( SELECT accessibility FROM ( SELECT accessibility FROM observations WHERE accessibility in ('Molt bé', 'Molt bona', 'Very good', 'Muy Buena') ) AS subquery ) Query OK, 65 rows affected (0.02 sec) Rows matched: 65 Changed: 65 Warnings: 0

-- cleanliness

UPDATE observations SET cleanliness = 1
WHERE cleanliness IN ( SELECT cleanliness FROM ( SELECT cleanliness FROM observations WHERE cleanliness in ('Molt dolent', 'Molt dolenta') ) AS subquery ) Query OK, 9 rows affected (0.02 sec) Rows matched: 9 Changed: 9 Warnings: 0

UPDATE observations SET cleanliness = 2 WHERE cleanliness IN ( SELECT cleanliness FROM ( SELECT cleanliness FROM observations WHERE cleanliness in ('Dolent', 'Dolenta', 'Malo', 'Bad') ) AS subquery ) Query OK, 33 rows affected (0.01 sec) Rows matched: 33 Changed: 33 Warnings: 0

UPDATE observations SET cleanliness = 3
WHERE cleanliness IN ( SELECT cleanliness FROM ( SELECT cleanliness FROM observations WHERE cleanliness in ('Regular') ) AS subquery ) Query OK, 89 rows affected (0.02 sec) Rows matched: 89 Changed: 89 Warnings: 0

UPDATE observations SET cleanliness = 4 WHERE cleanliness IN ( SELECT cleanliness FROM ( SELECT cleanliness FROM observations WHERE cleanliness in ('Bo', 'Good', 'Bona', 'Bueno') ) AS subquery ) Query OK, 153 rows affected (0.03 sec) Rows matched: 153 Changed: 153 Warnings: 0

UPDATE observations SET cleanliness = 5 WHERE cleanliness IN ( SELECT cleanliness FROM ( SELECT cleanliness FROM observations WHERE cleanliness in ('Molt bona', 'Very good', 'Muy bueno') ) AS subquery ) Query OK, 51 rows affected (0.02 sec) Rows matched: 51 Changed: 51 Warnings: 0

Quedando:

safety count(id)
3 109
4 146
1 11
5 48
2 21
cleanliness count(id)
3 89
4 153
2 33
1 9
5 51
CarlosMillanSfC commented 3 months ago

Pero hubo un problema, para los registros guardados con un acento no han funcionado algunas queries, lo he visto al ver los registros con diferentes accessibility

accessibility count(id)
Molt b� 36
B� 25
3 72
2 24
1 11
4 102
5 65

Por lo que he tenido que ejecutar estas dos queries más:

UPDATE observations SET accessibility = 4 WHERE accessibility LIKE ('B_'); Query OK, 25 rows affected (0.01 sec) Rows matched: 25 Changed: 25 Warnings: 0

UPDATE observations SET accessibility = 5
WHERE accessibility LIKE ('Molt b_'); Query OK, 36 rows affected (0.01 sec) Rows matched: 36 Changed: 36 Warnings: 0

Que por las filas afectadas parece que todo bien.

accessibility count(id)
5 101
4 127
3 72
2 24
1 11
CarlosMillanSfC commented 3 months ago

dejo este comentario aquí por si acaso pero la tarea aquí especificada ya está hecha.

@OtariOboladzeSfC Actualmente tengo la sensación de que se sigue recibiendo texto para estos campos y los nuevos registros seguirán guardando texto ya que la bbdd admite texto en esas columnas y las validaciones actuales en back no fuerzan a que sea un número entero. Se puede ver de cambiar esa configuración pero si el front sigue enviando texto fallará el guardado de las observaciones.

OtariOboladzeSfC commented 3 months ago

sí, la app todavia sigue enviando los textos pero el dash necesita empezar usar valores numericos. Desde Qualud estan trabajando en eso ahora mismo y lo cambiaran lo antes posible

CarlosMillanSfC commented 3 months ago

ok