When running Espo for a longer time, the chance of getting a "dirty" db and missing entity definitions may become a problem :
- removing an entity/field -> table/fields stays in DB and are not removed (which is a wise feature btw)
- removing an entity that has a link -> link may stay in related entity
- removing anything in entitymanager does not check for inclusion of the field/link/entity in reports, filters, templates, dashboards etc.
I find myself recursively grepping the /custom folder for leftovers.
Example : there is only a yearly report, but due to changes, you only find out the errors with a hard 500 server error
It would be good to have a quick check for this :
Did anyone build such control mechanism yet?
- removing an entity/field -> table/fields stays in DB and are not removed (which is a wise feature btw)
- removing an entity that has a link -> link may stay in related entity
- removing anything in entitymanager does not check for inclusion of the field/link/entity in reports, filters, templates, dashboards etc.
I find myself recursively grepping the /custom folder for leftovers.
Example : there is only a yearly report, but due to changes, you only find out the errors with a hard 500 server error
It would be good to have a quick check for this :
- Parse all metadata recursively and check with DB structure
- Check for all reports/filters etc if entities/fields are defined and available
- Check the espo logs and run rudimentary stats on type of errors, or even pull a tail on errorlog somewhere in the admin area. It saves an ssh roundtrip.
Did anyone build such control mechanism yet?