Replies: 1 comment
-
I don't use MySQL or MariaDB often so I don't know how much they differ. A PR for this would definitely be welcome. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Thank you @aarondl and contributors for
sqlboiler
and all your work!We recently started to use MariaDB 10.6 for some of our Go projects and see many differences between MySQL and MariaDB. MariaDB openly says that compatiblity with MySQL is not a concern anymore. Here are some of the differences that affect the current MySQL driver:
JSON Columns
MariaDB has no separate JSON data type. There is an alias but it is converted to LONGTEXT with a binary collation
utf8mb4_bin
and aCHECK CONSTRAINT
likejson_valid('col')
. In sqlboiler's MySQL driver the MariaDB JSON columns are not detected.UPSERT
MariaDB introduced a
INSERT ... ON DUPLICATE KEY UPDATE
clause that supports upserts similar to Postgres. The current MySQL driver doesn't support Upserts for MySQL.There are many other differences especially in the upcoming versions 10.7 and 10.8. There is a list documented by MariaDB which gets longer for every version: https://mariadb.com/kb/en/incompatibilities-and-feature-differences-between-mariadb-107-and-mysql-80/
So this opens the question if it is worth trying to keep compatibility for two different database systems in one driver or if it would make more sense to fork the mysql driver and maintain a separate version for MariaDB.
I would be glad to help and contribute to the effort if the maintainers would agree to this.
What are your thoughts about this?
Beta Was this translation helpful? Give feedback.
All reactions