[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GMG-Devel] Deprecating sqlite
From: |
Christopher Allan Webber |
Subject: |
[GMG-Devel] Deprecating sqlite |
Date: |
Sun, 07 May 2017 22:06:11 -0500 |
User-agent: |
mu4e 0.9.18; emacs 25.2.1 |
Hello!
So, I've begun looking and planning at my jumping back into MediaGoblin
development, and one thing that's been on my TODO list is raising
deprecating sqlite and going postgres-only. This is something that
Jessica Tallon and I talked about quite a bit, and I said I'd send an
email, but oops.
There are two main reasons to do it:
- sqlite is *the worst* when it comes to migrations.
For more info:
https://dustycloud.org/blog/sqlite-alter-pain/
Probably more time has been sunk into fixing broken sqlite migrations
than anything else in MediaGoblin's development.
It's a huge timesink and painpoint. Nobody likes working on these.
- There are some big features we could really take advantage of if we
went postgres-only. Number one being jsonb support probably.
This could end up improving our ability to adopt ActivityPub
considerably (it's not a blocker on it maybe, but it could mean a
dramatically cleaner implementation).
As to why not to do it:
- Some people are already using it. We could add scripts to help them
move away though... we already did this once before with MongoDB ->
SQL.
- It's easy to administer as a *user* (even if it's the very opposite
for developers).
- It's easy to set up and uses very few resources.
- It especially makes unit tests and etc very easy to do.
The last one is probably the most compelling of all of them to me
personally. We need a decent way to start up / tear down databases for
testing. (It may be possible to write some scripts that can start up /
tear down a temporary postgres cluster though...) It's possible that we
could keep sqlite for a "development mode only", at least in some
interim, though it means still not having access to postres-only
features. My feeling is, we should probably do this first. If we do
that, we don't have to write migrations for sqlite anymore, at least.
Anyway, feedback welcome. Personally, I think it would be a good move
towards this.
But, it's a pretty big change, so here's opening up conversation...
- [GMG-Devel] Deprecating sqlite,
Christopher Allan Webber <=