Added
- `Database.select`, `Database.get`, and related methods now accept a `columns` parameter to specify the set of columns to be returned for each row. (63)
- The `Database` constructor now accepts a parameter `enforce_foreign_keys` which can be set to false to turn off foreign-key constraint enforcement.
- All `columns` constructors except `boolean` and `primary_key` now accept a `unique` parameter to enforce a SQL `UNIQUE` constraint. (64)
- `isqlite create` as an alias for `isqlite insert` and `isqlite list` as an alias for `isqlite select`. (61)
Changed
- `Database.update` now returns the count of rows updated, and `Database.update_by_pk` returns a boolean indicating whether or not the row was updated.
Fixed
- Thanks to upstream fixes in the sqliteparser library, isqlite can now handle some SQL syntax it would previously choke on, including `VARCHAR(...)` column types, multi-word column types, and `NULL` column constraints.
- The `isqlite migrate` and `isqlite diff` commands now give better error messages for invalid schema files.
- The `isqlite sql` command now gives a more informative error message when attempting to modify the database without the `--write` flag. (62)