I’m hoping to share some tips from developing and deploying several large Flask applications, some which aren’t obvious from the documentation.
Tip 3: Embrace SQLite
SQLite is ubiquitous. It’s zero-configuration. There’s no server to get hacked.
- Especially for development, a dev SQLite database will do the job
- SQLite is fine to use in production, especially for read-intensive workloads
You don’t need a big SQL server (e.g. PostgreSQL, MySQL) until you’re big. And since you’re using SQLAlchemy (right?), migrating to something bigger isn’t an issue. What are you waiting for? 100k more users? Just use SQLite.
Update: It has been put to me that you should use the same database in production and development. In principle, I think this is a good idea. However, if this isn’t possible, your integration tests should catch any issues, right?
Good luck with Flask!