migrator.add_column throws error on column with default value for sqlite
Closing the issue. I found the root of this problem.

I added the new field to my model definition with index. When I run my migration script, peewee saw a new field, it doesn't create the column. However, it creates the index. So the database has an index of an unknown column. A query to create column is fine, but an update query to that column throws error in python. Dropping the index and it works as expected.
Peewee version: `3.14.4`
SQLite version: `3.33.0`
When I run,
```
migrator = SqliteMigrator(db)

with db.atomic():
    migrate(
        migrator.add_column("table", 'is_deleted', BooleanField(default=True)),
    )
```

It throws the following error:
```
peewee.DatabaseError: database disk image is malformed
```
This behavior contradicts to the [documentation](https://docs.peewee-orm.com/en/latest/peewee/playhouse.html#supported-operations)

I investigated more and found that:

* When the table is empty, it executes this query: `ALTER TABLE "table" ADD COLUMN "is_deleted" INTEGER`
* However, then the table is not empty, it executes this query: `UPDATE "table" SET "is_deleted" = ?`. Manually executing the query on my sqlite database, it throws the error: `Result: no such column: is_deleted`. 
* I dump the content of the database to an sql file and re-import them on new database but still get the same error.
* Interestingly, `add_column` (nullable), then `apply_default` also doesn't work and I got the same error. Turns out the query `UPDATE ...` causing the issue. So I need to do it in one query `ALTER TABLE "table" ADD COLUMN "is_deleted" INTEGER NOT NULL DEFAULT 0`.