Frappe running on Yugabytedb

As frappe support posgresql, and modern databases like yugabytedb support and built over postgresql. Support and siggest how to develop application usung frappe and yugabytedb.

Thanks.

If anyone takes this up as hobby project, I propose:

  • Refactor frappe database layer to only use MariaDB. Make it hookable such that custom apps written in certain way can act as plug-in for different datastores.
  • Move the Postgres to first custom app to showcase example db plugin.

Blockers for adding databases to frappe framework:

  • Any database other than MariaDB is afterthought. Developer’s approach will be, check the code to know how Postgres was added and how to replicate that for adding another database.
  • adding new database as it stands now is copy-paste-change one more module under “databases”. This is not a good idea. Look how many CI tested apps are there for MariaDB vs for Postgres. November Postgres 12 LTS ends, The one used in frappe server tests. Fixing that is a PR for people who care or unecessary overhead for core team.
  • Ideally it is a refactor to add a layer that can connect databases through frappe apps.
  • This refactor is good amount of engineering. That’s expensive! And after paying that expensive amount what you get? Nothing that the end user can identify.
  • DB plugins on frappecloud will have another set of things to overcome, so no immediate motivation for the refactor from there as well.
2 Likes