¿Cuándo es apropiado usar los activadores de MySQL en comparación con los modelos MVP?

1) Los disparadores ofrecen la mejor oportunidad para la integridad de los datos. A los DBA probablemente les gusten los disparadores por esa razón. Los desarrolladores front-end descubrirán que tienen menos control de esta manera, pero probablemente sea una compensación aceptable.

2) Realmente no lo sé. Supongo que los disparadores funcionarán mejor que los modelos, ya que los disparadores son nativos de la base de datos, pero realmente me gustaría saber de algunos DBA sobre este factor. En muchos casos, cualquier costo de rendimiento puede no ser suficiente para importar.

3) El uso de disparadores significa que el código ahora está en dos lugares. Un desarrollador podría olvidarse de mirar los disparadores cuando trabaje en el código de su modelo, o al menos no darse cuenta del impacto de cualquier disparador en su modelo.

4) El uso de disparadores requiere un conocimiento más profundo de un segundo entorno de desarrollo más allá del lenguaje / marco de programación. También significa entrar en el ámbito del DBA, lo que podría causar conflictos en el equipo.

5) El uso de disparadores potencialmente encapsula el código de manera más limpia, lo que hace que el mantenimiento y el soporte sean menos costosos o difíciles.

El caso de uso A parece un buen lugar para los desencadenantes. El caso de uso B tiene las ventajas y desventajas mencionadas anteriormente.