Pregunta

¿Debo usar un esquema escrito a mano para mi proyecto desarrollado en un lenguaje de alto nivel (como Python, Ruby) o debo dejar que mi solución ORM lo genere automáticamente?Con el tiempo tendré que migrar sin destruir todos los datos.Está bien estar vinculado a un RDBMS específico, pero sería bueno si funciones como restricciones y procedimientos pudieran admitirse de alguna manera.

¿Fue útil?

Solución

Nunca uso un esquema generado por ORM.

Encuentro que las formas en que el ORM quiere generar el esquema a menudo están totalmente en desacuerdo con la forma en que quiero que se estructure mi base de datos.Además, y sé que esto es trivial, el esquema de nomenclatura suele ser deficiente.

La estructura de la base de datos tiene sus propias limitaciones, que normalmente las herramientas de generación automática de ORM no consideran en su totalidad.Y si va a querer ejecutar informes en su base de datos más adelante (y lo hará), entonces es muy importante tener una buena estructura y diseño de base de datos.

Otros consejos

Ver este artículo de Codificación de terror y enlaces para discutir sobre esa migración que eventualmente deberá realizar.Planifíquelo ahora.

Ver también Martin Fowler sobre la evolución de las bases de datos;Recomiendo particularmente la idea de que la generación de datos de prueba sea parte de la configuración de la base de datos.La idea puede estar un poco subdesarrollada, en el sentido de que no existe una delimitación clara de los diferentes problemas en diferentes entornos: desarrollo versus control de calidad versus producción.

Deje que el ORM genere el esquema que desee.Entonces siempre podrás cambiar las cosas que sean demasiado lentas o que quieras de otra manera.Pero le permite comenzar rápidamente y tener algo funcionando, además, la gente de ORM generalmente sabe lo que hace cuando se trata de generar esquemas.

Deje que su solución ORM lo genere, pero no lo utilice simplemente a ciegas;Léelo detenidamente y compruébalo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top