Closed jordic closed 8 years ago
Hi @jordic. A MySQL/MariaDB specific implementation of this interface is the starting point: https://github.com/vattle/sqlboiler/blob/master/bdb/interface.go#L8
The PSQL driver implementation is here for reference: https://github.com/vattle/sqlboiler/blob/master/bdb/drivers/postgres.go
For the compatibility tests, a main_test/mysql_main.tpl would be required as well. The postgres version is here: https://github.com/vattle/sqlboiler/blob/master/templates_test/main_test/postgres_main.tpl -- this code basically creates a test database, imports your schema into it, disables triggers (so there are no foreign key constraint complaints), runs the tests, then drops the test database. There may be a simpler way to disable foreign key constraints in MySQL, but in PSQL this was the best solution short of stripping them all from the schema dump using parsing.
Past this, there would be small changes required to the query builder (i.e. some conditionals to tell it not to convert ? to $1), and maybe some other small modifications here and there. Nothing major though, I do not imagine.
If you or someone else would like to work on this we're happy to give guidance wherever needed, but the interface implementation would be the best place to start (and the most difficult component -- the rest should be relatively straight forward).
@arden @jordic we've decided to start the implementation of MySQL support. We might even get to SQLite as well. If anyone has already started this and made any progress could you please let us know so we can merge?
As for other databases, I doubt we'll get to those any time soon, so anything else will remain up for grabs.
Hi @jordic -- we've released V2 which includes MySQL support. See here for release notes: https://github.com/vattle/sqlboiler/releases/tag/v2.0.0
Thanks.
Hey! Thats cool! I will give it a try as soon as I have time!
Great job, and great tool!
What is needed to create the adapter?