Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for MySQL #836

Closed
pepicrft opened this issue Feb 1, 2023 · 8 comments
Closed

Support for MySQL #836

pepicrft opened this issue Feb 1, 2023 · 8 comments
Assignees
Labels
area:oss Related to Oban OSS kind:enhancement New feature or request note:discussion Details or approval are up for discussion

Comments

@pepicrft
Copy link

pepicrft commented Feb 1, 2023

Is your feature request related to a problem? Please describe.

I'm trying to use Oban in a Phoenix app that's setup to use MySQL the database solution. However, it doesn't work because the only two adapters provided are for SQLite and Postgres

Describe the Solution You'd Like

It'd be great if MySQL was supported to. I'd be happy to contribute this feature myself with some guidance from the maintainers of the repository. Is there any technical limitation that would prevent this feature's existence?

Describe Alternatives You've Considered

I considered using Postgres. However, I'd like to continue using MySQL because I'm using PlanetScale to run and scale the database in production.

@sorentwo
Copy link
Member

sorentwo commented Feb 1, 2023

@pepicrft SQLite was just added in the previous release, and that release isn't a week old yet. After the dust settles and we have reports of SQLite usage in the wild we can explore supporting MySQL.

@sorentwo sorentwo added kind:enhancement New feature or request note:discussion Details or approval are up for discussion area:oss Related to Oban OSS labels Feb 1, 2023
@pepicrft
Copy link
Author

pepicrft commented Feb 2, 2023

Thanks a lot @sorentwo for your answer. That makes a lot of sense. I didn't know that the support of SQLite has just been released.

@sorentwo sorentwo self-assigned this Feb 17, 2023
@sorentwo
Copy link
Member

After some deliberation, we won't be adding MySQL support to Oban core. Adding MySQL through a separate package that defines an engine, peer, notifier, and migrations is possible if anybody is up to the challenge 🙂

@sorentwo sorentwo closed this as not planned Won't fix, can't repro, duplicate, stale Jul 27, 2023
@jclem
Copy link

jclem commented Aug 3, 2023

@sorentwo Makes sense! Keeping the core of Oban focused is a good thing. Is there anything from your deliberations you can share that may help folks looking to implement an Oban engine etc. for MySQL in the future? (Apologies for my random appearance in this issue, I've been watching it for a few months 😄)

@sorentwo
Copy link
Member

sorentwo commented Aug 3, 2023

Is there anything from your deliberations you can share that may help folks looking to implement an Oban engine etc. for MySQL in the future?

Implementing a new engine, peer, and migrations should be straightforward if you follow the Lite engine's pattern. My deliberation was about time core competency, time commitments, and supporting Oban's existing users/customers.

@hubertlepicki
Copy link

To reanimate this question, @sorentwo , the "straightforward" part would be making an engine for Oban and not Oban Pro, right? I think supporting all the Oban Pro features would require more work and I don't think it has abstractions to do it cleanly now, would have to modify oban pro itself which is obviously not open source

@sorentwo
Copy link
Member

@hubertlepicki That's correct. Making a "basic" engine for MySQL, like the existing ones for Postgres and SQLite should be straightforward. That would not work with most existing Pro features, much like SQLite doesn't either.

@hubertlepicki
Copy link

@sorentwo thaks...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:oss Related to Oban OSS kind:enhancement New feature or request note:discussion Details or approval are up for discussion
Projects
None yet
Development

No branches or pull requests

4 participants