Hi @esio and thanks so much for taking the time to work on this POC, great job! This was something we were thinking of bringing in back in 2019 (see Multi-database support ) but nobody has got around to working on it yet.
One of the primary reasons we dropped multi-database support way back when was because so few people were using it and nobody was testing with it. This meant that critical bugs could come in without the developers knowing. We had very little test coverage at that time, which made things worse.
It’d be great, therefore, to have a working group or tiger team that would be responsible for the multi-database support if you wanted to introduce it back into core - they could become the ‘subject matter experts’ in that area, and ensure that new code being added is considering different types of database.
We now have a substantially wider coverage with automated tests which makes things a bit better when it comes to picking up problems, so you’ll also need to consider that the test suite (available when you clone Mautic from GitHub, more here) will also need to be reviewed and updated to ensure that it takes into account multi database support, along with updating our GitHub Actions accordingly to ensure that it’s running against PostGres as well as MySQL and MariaDB. We’ll need to document this for developers as well, because I guess it’ll also impact plugins and integration work.
I’ll let the core team know of your POC as well, so they can provide input. Thanks for raising the suggestion!