Can not add a not null column to a table with CHECK constraint
Thanks for the report. This is fixed in master.
Most of the tables in my sqlite db have CHECK constraints. The schema of one such table looks like this:

`CREATE TABLE "study" ("id" INTEGER NOT NULL PRIMARY KEY, "created_at" DATETIME NOT NULL, "uid" TEXT NOT NULL, "patient_id" VARCHAR(255) NOT NULL, "provider_id" VARCHAR(255) NOT NULL, "first_name" VARCHAR(255) NOT NULL, "last_name" VARCHAR(255) NOT NULL, "birthdate" DATE, "gender" VARCHAR(255), CHECK (gender IN ('female','male')), CHECK (patient_id != ''))`

When I try to do a:

`migrate.migrate(
    migrator.add_column(
        'study', 'visit_id',
        peewee.CharField(default='', null=True))
    )
)`

I get this error:
`sqlite3.OperationalError: table study__tmp__ has no column named CHECK`

I believe this is because CHECK constraints aren't being removed here: https://github.com/coleifer/peewee/blob/master/playhouse/migrate.py#L720 and they are being treated as columns to update. Tested that adding 'check ' to constraint_terms fixes the issue. Can someone with permission submit a PR? Does anyone have thoughts on a workaround in the mean time?