Why ALTER TABLE is such a problem for SQLite
Summary
SQLite's ALTER TABLE support is limited compared to other DBs; the article explains permitted operations (rename table, rename column, add column, drop column), outlines two general procedures for complex changes, and discusses how the schema is stored as text in sqlite_schema and the impact on migration performance. It also covers compatibility notes and how to disable error checking with writable_schema.