Igor Bubelov About Blog Photos

SQLite Strict Column Typing

August 20, 2021

I love SQLite because maintaining a complicated client-server database is a lot of work for little to no gain in projects that don’t need to deal with high loads and multi-node deployments. If you never worked with SQLte, you might be surprised how fast and scalable it actually is. Unfortunately, it can also be surprising in much less pleasant ways. For instance, SQLite didn’t support RENAME COLUMN till the beginning of 2021. I’m glad it’s fixed now, but the biggest remaining problem with SQLite, in my opinion, is the lack of strict typing. It has this obscure concept of type affinity, and it allows you to insert data of any type into column of any type. It sounds bad, and it’s really as bad as it sounds. That’s why I’m super excited about the introduction of STRICT Tables. Hopefully, dynamic column types will soon become a thing of the past.