Let's make sure that MariaDB can be used with Marten through the use of the mysql database backend.
Context
Marten has built-in support for MySQL but we never properly made sure that the mysql database backend was actually working as expected with MariaDB databases. Most of this backend should already work out of the box, but there may be minor differences between MySQL and MariaDB that will likely force us to implement some logic to handle both. For example, MariaDB supports querying inserted row columns, while MySQL does not.
To do
[x] Let's ensure that CI specs run on currently maintained MariaDB versions
[x] Ensure that the Marten::DB::Connection::MySQL#insert and the Marten::DB::Connection::MySQL#bulk_insert methods return inserted row primary key values when the underlying database is a MariaDB one
[x] Document the use of MariaDB and the associated version requirements
Description
Let's make sure that MariaDB can be used with Marten through the use of the
mysql
database backend.Context
Marten has built-in support for MySQL but we never properly made sure that the
mysql
database backend was actually working as expected with MariaDB databases. Most of this backend should already work out of the box, but there may be minor differences between MySQL and MariaDB that will likely force us to implement some logic to handle both. For example, MariaDB supports querying inserted row columns, while MySQL does not.To do
Marten::DB::Connection::MySQL#insert
and theMarten::DB::Connection::MySQL#bulk_insert
methods return inserted row primary key values when the underlying database is a MariaDB one