Está causando tantos problemas en términos de desarrollo simplemente dejando que la base de datos aplique la clave externa. Especialmente durante la prueba unitaria no puedo abandonar la tabla debido a restricciones de clave externa, necesito crear una tabla en un orden tal que la advertencia de restricción de clave externa no se active. En realidad, no veo demasiado el punto de dejar que la base de datos haga cumplir las restricciones de clave foránea. Si la aplicación se ha diseñado correctamente, no debe haber ninguna manipulación manual de la base de datos que no sea la de seleccionar consultas. Solo quiero asegurarme de que no me estoy metiendo en un agujero al no tener limitaciones de clave externa en la base de datos y dejarlo únicamente a la responsabilidad de la aplicación. ¿Me estoy perdiendo algo?Pros y contras de aplicar programáticamente una clave externa que en la base de datos
P.S. mis pruebas unitarias reales (no las que usan burlas) eliminarán las tablas existentes si la estructura del objeto de dominio subyacente ha sido modificada.
Estaba pensando en agregar una respuesta, pero dijiste lo que se necesitaba decir para obtener los votos que obtienes. Si los desarrolladores carecen de la habilidad técnica para escribir los scripts de configuración y reinicio para preparar las condiciones previas de la prueba, entonces no deberían estar operando directamente en la base de datos. En tales casos, un DBA debería preparar tales scripts. ¿Pero abandonando la integridad referencial porque los desarrolladores quieren ser perezosos? ¡De ninguna manera! –