es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Se pueden usar los fixtures de Django para producción?

Tengo una aplicación Django que lee diferentes archivos CSV y los guarda en el mismo modelo/tabla en la base de datos.

Si bien las fixtures se utilizan para configurar rápidamente un entorno de prueba, en mi caso utilicé la fixture para configurar los diferentes esquemas CSV que posteriormente son analizados por la aplicación Django.

Por lo tanto, cada proveedor de datos tiene su propio esquema distintivo que se encuentra en una fila diferente en la tabla CsvSchema.

Durante la revisión de código, surgió que esto no tiene buen estilo porque:

  1. Conduce a la duplicación de datos. Me resulta útil pasar estas configuraciones a través de una fixture y tratarla como un archivo de configuración.
  2. Para tratar aún más la fixture como un archivo de configuración, incluso la he incluido dentro del repositorio Git, lo cual es algo con lo que el revisor está de acuerdo.
  3. El revisor también afirma que las fixtures deberían usarse solo una vez en la vida útil de la aplicación, durante la configuración inicial.

Para mí, las fixtures son solo una herramienta que Django nos proporciona. Puedo experimentar con los detalles del esquema en mi máquina de desarrollo y luego volcarlos en una fixture, utilizándola efectivamente como configuración. ¿Estoy jugando demasiado rápido y libre con las reglas aquí?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como experto en tecnología de la información especializado en Django y Django fixtures, diría que utilizar fixtures como archivo de configuración no necesariamente es una mala práctica, pero tiene algunas limitaciones y posibles problemas.

    En primer lugar, tal como señala el revisor, el uso de fixtures para la configuración puede llevar a la duplicación de datos. Esto significa que si necesitas actualizar la configuración, es posible que debas actualizar múltiples fixtures, lo cual puede llevar tiempo y propiciar errores. En contraste, si utilizas un archivo de configuración adecuado, puedes actualizarlo fácilmente en un solo lugar.

    En segundo lugar, poner la fixture en el repositorio de git puede no ser una buena idea si la fixture contiene información sensible o si está destinada a ser utilizada solo en determinados entornos (por ejemplo, producción versus desarrollo). En esos casos, es mejor utilizar un archivo de configuración separado que no sea rastreado por git.

    Por último, si bien las fixtures se pueden utilizar para la configuración inicial, no están destinadas a ser utilizadas para cambios de configuración continuos. Si tu aplicación requiere frecuentes cambios de configuración, es mejor utilizar un sistema de configuración dedicado diseñado con ese propósito, como un archivo de configuración o una tabla de base de datos.

    En resumen, si bien utilizar fixtures como archivo de configuración no es necesariamente malo, es importante considerar las limitaciones y problemas potenciales y elegir la herramienta adecuada para el trabajo.

Comments are closed.