Dropping support for SQLite as production database


We had discussed dropping support for SQLite before (e.g. RFC: Dropping support for sqlite) and the main reasoning for keeping it was for development and build tasks. However we have never officially notified users that they shouldn’t be using it in a production environment. The expectation, however, is that most likely the number of users actually using it is very low to none, since the installer installs PostgreSQL by default and SQLite doesn’t quite scale.

Running SQLite in production is generally a Bad Idea :tm:, and we should let users know about that. This becomes more acute since upgrading to Rails 6 will require us to perform a change in how boolean fields are stored in the database, which is very problematic to perform as part of a migration.

My proposal is therefor to do the following:

  • in 1.24 show a notification for any user running SQLite in production, similar to the notification we have for MySQL.
  • in 1.25 stop supporting it officially for non-development usage.

With 1.24 already in RC stage, I would like to come to a decision on this before RC3 is out.


:+1: let’s formalize the existing best practice

Opened a PR for the deprecation notification:

1 Like

This has been open for a week now with no disagreement, unless someone speaks up today we will be merging these and making it official in 2.0.
I went over the previous RFC again and all concerns raised there were about development or build tasks which are still going to be supported.
Developers will need to take some manual action if they wish to upgrade their existing sqlite databases to 2.0.