This post stemmed from a comment @ehelms made on another post (GraphQL as api v3), which had a good point that I don’t want to get lost in comment #23 of an unrelated thread.
Today, we run tests on 3 databases: postgresql, mysql, and sqlite.
However, in production, only two of those are supported by foreman core (mysql and pg), and katello only supports pg.
I suggest that we drop support for sqlite completely.
- Less tests to run on Jenkins, freeing up capacity for other tasks.
- Less database-specific code that needs to be written.
- Ability to clean up some workarounds needed to make sqlite work.
- All developers will use a database used in production during their work, leading to reduced frequency of “It worked on my box” issues and better day-to-day testing on a closer to production environment.
- No wasted effort trying to fix issues that are only present on sqlite just to get CI green with no impact for users.
- One less gem to package into rpm.
- Developers currently using sqlite will need to migrate their development environment to mysql or postgresql.
- Slightly more complicated initial dev environment setup (unless using forklift which I think sets up pg anyways).
- Running tests locally on sqlite is a bit faster IIRC, this will make local test slower for developers currently on sqlite.
Please let me know your thoughts or if I missed something, or just use the little heart button below if you agree