Open jmbecerril opened 7 years ago
yo creo que el id no debería ser consecutivo, tal vez generarlo a partir del timestamp de cuando se genera.
Otro de los objetivos de ese ID además de ser el identificador único de la ruta en la aplicación es ser un indicador visual para los usuarios, por ejemplo en la vista de "recorridos" se despliega la lista de rutas que han sido mapeadas utilizando Ruta1000X así que el usuario podría ver el contador de rutas que ha mapeado .. Creo que podríamos buscar un ID todavía mas amigable y que no se repita, por ejemplo utilizando el timestamp que sugieres
Por qué no usar una versión compacta de un UNIQUE ID? o por ejemplo algo como http://hashids.org/
El id tal vez no debería ser visualizado por el usuario, y manejar un contador aparte
Este ID se genera en la App y se envía al servidor. La duplicación ocurre cuando un usuario desinstala la aplicación y la vuelve a instalar. Al hacerlo se pierden los datos de la app en el teléfono y el contador empieza desde 1 de nuevo.
Para el servidor no es mucho problema, ya que el ID interno de las rutas es diferente. Pero efectivamente, en el listado de rutas, al usuario le aparece que hay dos rutas con el mismo nombre, aunque en verdad son dos rutas diferentes.
Ayuda un poco que los campos descripción y notas son diferentes.
Idealmente este nombre de ruta, que es un identificador de texto con un numero en serie, no es necesario generarlo en la App, y debería ser responsabilidad del server generarlo, y asegurarse de que no se repiten.
Al almacenar una ruta que fue mapeada la aplicación genera un ID para la ruta (Ruta 1000X) comenzando desde 1 (Ruta 10001) pero al almacenar más rutas mapeadas el mismo ID (Ruta 10001) es asignado a otras rutas, lo que nos lleva a la duplicación del ID.