Releases: coleifer/peewee
3.1.7
For all the winblows lusers out there, added an option to skip compilation of the SQLite C extensions during installation. Set env var NO_SQLITE=1
and run setup.py install
and you should be able to build without requiring SQLite.
3.1.6
- Added
rekey()
method to SqlCipher database for changing encryption key and documentation forset_passphrase()
method. - Added
convert_values
parameter toArrayField
constructor, which will cause the array values to be processed using the underlying data-type's conversion logic. - Fixed unreported bug using
TimestampField
with sub-second resolutions. - Fixed bug where options were not being processed when calling
drop_table()
. - Some fixes and improvements to
signals
extension.
3.1.5
Fixed Python 2/3 incompatibility with itertools.izip_longest()
.
3.1.4 (released on π-day!)
- Added
BigAutoField
to support 64-bit auto-incrementing primary keys. - Use Peewee-compatible datetime serialization when exporting JSON from a
DataSet
. Previously the JSON export used ISO-8601 by default. See #1536. - Added
Database.batch_commit
helper to wrap iterators in chunked transactions. See #1539 for discussion.
3.1.3
- Fixed issue where scope-specific settings were being updated in-place instead
of copied. #1534. - Fixed bug where setting a
ForeignKeyField
did not add it to the model's
"dirty" fields list. #1530. - Use pre-fetched data when using
prefetch()
withManyToManyField
. Thanks
to @iBelieve for the patch. #1531. - Use
JSON
data-type for SQLiteJSONField
instances. - Add a
json_contains
function for use with SQLitejson1
extension. - Various documentation updates and additions.
3.1.2
New behavior for INSERT queries with RETURNING clause
Investigating #1522, it occurred to me that INSERT queries with non-default
RETURNING clauses (postgres-only feature) should always return a cursor
object. Previously, if executing a single-row INSERT query, the last-inserted
row ID would be returned, regardless of what was specified by the RETURNING
clause.
This change only affects INSERT queries with non-default RETURNING clauses and
will cause a cursor to be returned, as opposed to the last-inserted row ID.
3.1.1
- Fixed bug when using
Model.alias()
when the model defined a particular database schema. - Added
SchemaManager.create_foreign_key
API to simplify adding constraints when dealing with circular foreign-key relationships. Updated docs accordingly. - Improved implementation of
Migrator.add_foreign_key_constraint
so that it can be used with Postgresql (in addition to MySQL). - Added
PickleField
to theplayhouse.fields
module. Docs. - Fixed bug in implementation of
CompressedField
when using Python 3. - Added
KeyValue
API inplayhouse.kv
module. Docs. - More test cases for joining on sub-selects or common table expressions.
3.1.0
Backwards-incompatible changes
Database.bind()
has been renamed to Database.bind_ctx()
, to more closely
match the semantics of the corresponding model methods, Model.bind()
and
Model.bind_ctx()
. The new Database.bind()
method is a one-time operation
that binds the given models to the database. See documentation:
Other changes
- Removed Python 2.6 support code from a few places.
- Fixed example analytics app code to ensure hstore extension is registered.
- Small efficiency improvement to bloom filter.
- Removed "attention!" from README.
3.0.20
- Include
schema
(if specified) when checking for table-existence. - Correct placement of ORDER BY / LIMIT clauses in compound select queries.
- Fix bug in back-reference lookups when using
filter()
API. - Fix bug in SQL generation for ON CONFLICT queries with Postgres, #1512.
3.0.19
- Support for more types of mappings in
insert_many()
, refs #1495. - Lots of documentation improvements.
- Fix bug when calling
tuples()
on aModelRaw
query. This was reported originally as a bug with sqlite-web CSV export. See coleifer/sqlite-web#38.