SQLite on Scalingo
Introduction
Different technologies, especially Ruby on Rails are using the SQLite database by default. SQLite is perfect for getting started in your project, it’s lightweight, requires no configuration and is backed by small files on disks. While it’s a good way to start, it is not usable in production.
Limitations of SQLite
Disk backed storage
SQLite writes files locally on disk, which does not fit Scalingo’s operating model. In our Platform as a Service definition, your application should be restartable at any moment and should consider its local file system as ephemeral. As a result, when you redeploy your application or if your application is restarted, SQLite data would be lost.
Does not scale
As a consequence of the previous point, the locally stored database is not accessible through the network. And when the time comes to scale out your application, your containers won’t be able to access the same data. So even if the disks were persistent, SQLite would not be a good fit.
Solutions
Instead of using SQLite, we are providing you the choice among our ‘Database as a Service’ addons
- MongoDB®
- PostgreSQL®
- MySQL®