Backwards-incompatible changes
- The
regexp()
operation is now case-sensitive for MySQL and Postgres. To perform case-insensitive regexp operations, useiregexp()
. - The SQLite
BareField()
field-type now supports all column constraints except specifying the data-type. Previously it silently ignored any column constraints. - LIMIT and OFFSET parameters are now treated as parameterized values instead of literals.
- The
schema
parameter for SQLite database introspection methods is no longer ignored by default. The schema corresponds to the name given to an attached database. ArrayField
now accepts a new parameterfield_kwargs
, which is used to pass information to the array field'sfield_class
initializer.
New features and other changes
- SQLite backup interface supports specifying page-counts and a user-defined progress handler.
- GIL is released when doing backups or during SQLite busy timeouts (when using the peewee SQLite busy-handler).
- Add NATURAL join-type to the
JOIN
helper. - Improved identifier quoting to allow specifying distinct open/close-quote characters. Enables adding support for MSSQL, for instance, which uses square brackets, e.g.
[table].[column]
. - Unify timeout interfaces for SQLite databases (use seconds everywhere rather than mixing seconds and milliseconds, which was confusing).
- Added
attach()
anddetach()
methods to SQLite database, making it possible to attach additional databases (e.g. an in-memory cache db).