Hello all, I am hosting a Thinkful project called "SomeCode" on PythonAnywhere. It is a snippet service that is from two Thinkful projects (the Python/Flask class and the AngularJS class). The Flask class asked us to use the SQAlchemy ORM on the SQLite RDBMS as the backend DB. Not knowing much about the various SQL db's out there I just went with their suggestion. Turns out you can't host it on Heroku, since they don't support SQLite (only Postgres). SQLite actually works (since the db is just a file on the file system), but as soon as the Heroku Dyno is rebooted/refreshed, the db is gone.
I know that PythonAnywhere supports MySQL. So now I realize that although SQLite is a fine database, choosing a more advanced open-source db like MySQL or Postgres that works through a network socket rather than a file on the file system is the way to go.
My question is - can I still just use the SQLite db and trust that my db file will not get blown away (like it does on Heroku), or do I really need to go with a network oriented db like MySQL? If I can use SQLite, then are there backup schemes that I could use to save away the SQLite file? Or do I just need to get my ORM (SQAlchemy) to talk to MySQL rather than SQLite?
By the way, one of the reasons I like SQAlchemy on SQLite is that is has a nice Flask-WhooshAlchemy library that allows full-text searching on the db models. It's so easy to use. Unfortunately the Whoosh extension doesn't work with Postgres. I'm not sure if the Flask Whoosh extension works with MySQL, so that is why I haven't tried out SQAlchemy on the MySQL db.