elmo should not depend on mysql



6 years ago
6 years ago


(Reporter: gandalf, Unassigned)


Mac OS X

Firefox Tracking Flags

(Not tracked)




6 years ago
Elmo works perfectly fine with other databases including the cheapest to set up for dev - sqlite.

I'd recommend removing mysql from dependency list and adjusting the DB settings to set mysql-specific bits only if mysql is being used.
My practice is that I do rapid development (ie. re-running small subset of test(s) over and over again and again) using SQLite. But before I (git) commit I always run the whole suite in MySQL. 

Having said that, one thing that won't change is that we're using MySQL on the server and therefore it's pivotal that we develop and test on MySQL. It would be a grave error to use Postgres locally (says the guy who loooves PostgreSQL) and MySQL remotely. 

What I think is really bad is that there is code inside Elmo (at least it used to be) that depended on bugs in MySQL (relating to Unicode representations I think) and that's something we could perhaps morph this bug into; i.e. make code SQL agnostic without hacks. 

That's the sad paradoxical reality of web dev especially with Django. They're supposed to be plain and agnostic yet it's so important to use the same database locally as remotely. 

My recommendation is to leave MySQL (in fact, the python-mysqldb package) as a requirement but do at some point hunt down the hacks so that it technically becomes agnostic of mysql.

Comment 2

6 years ago
The dependency that gandalf has hit is that there's the MySQL binding in requirements.txt. That is painful, granted, like everybody edits that to make it work with the binding you have locally, anywho :-/

I don't think we have requirements in the actual code.
We have agreed to not worry about this. If you really want to develop with a different database you can but it's not recommended. Makes deployment slightly more predictable.
Last Resolved: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.