More information like design decisions, etc. will be posted here.
Workaround for data in existing MySQL databases
While this issue is WIP, if you are interested in making GraphQL Engine work with data in an existing MySQL database, please see #1035.
Please also provide some information about other database for example:
SQLite
MongoDB
Oracle
MS SQL Server
, ...
One of the strengths of Hasura is that it focuses on doing Postgres very well. Question is, can this strength be maintained while supporting multiple databases? If yes, great. If not or in doubt, why do it at all?
This is very true and that's why this is something we're taking up quite calmly to make sure we get it right! We're in the very early stages of research and not quite sure what adding MySQL support will look like just yet. :)
Postgres is so awesome it hurts. Just having the ability to mix DDL and DML statements in a transaction...
It's true but guys we don't create anything and any system from scratch. Sometime we want add new feature to an existing system. For example we have an existing Oracle based system and just want to a GraphQL layer on top of this for that situation support more database is a good achievement I prefer using Hasura with Oracle, MySQL, ... because I really love Hasura and prefer create any GraphQL API with it's awesome feature.
Maybe a better position is to disable some of the features based on the dialect. For example if MySQL doesn鈥檛 support eventing, then it should be disabled in Hasura?
Please add support for an Oracle database first, we could well use it and it has all the features that Postgres has, too (and more), so supporting Oracle should not be too much fuzz...
I've used https://www.enterprisedb.com/ as a drop-in PostgreSQL replacement for Oracle, just as a possible workaround.
I believe that Hasura needs to be compatible in the future for more than one database. Providing support for MySQL will provide a path for supporting any SQL database and potentially other databases that use a SQL variant. Once this support is complete and a common interface is built, the path to supporting other SQL databases like MSSQL or maybe even a NoSQL database like Couchbase which uses a SQL variant as a query language (N1QL/SQL++) then the community will be able to start working on supporting any database (FTMP) and the Hasura engineering can focus on core. I know that is all very vague and easier said than done, but it seems like something like this needs to be done to test out the path forward for supporting more databases than PostgreSQL.
@httpJunkie You are absolutely right and this is what we are doing internally currently.
@tirumaraiselvan can i join the beta program if there is any ?
Technically it's here - https://github.com/hasura/graphql-engine/projects/1#card-48840620 but they disabled possibility to view, on top of that - PR - https://github.com/hasura/graphql-engine/pull/5655
Edit: @tirumaraiselvan any update on it? You've removed it from the 1.4 milestone recently hence the question.
Most helpful comment
One of the strengths of Hasura is that it focuses on doing Postgres very well. Question is, can this strength be maintained while supporting multiple databases? If yes, great. If not or in doubt, why do it at all?