Change log - Migration guide.
DynamoDBMapper 1.6.2
This section documents all user visible changes included between DynamoDBMapper
versions 1.5.0 and versions 1.6.0
Additions
- transactions may generate a list of sub-transactions to run after the main one
- log all successful queries
- add parameter limit on query method defaulting to None
- extensive documentation
Upgrade
- sub-transactions
- If __init__() is called in any of your transactions, make sure to call
super(MyTransactionClass, self).__init__(**kwargs)
Known bugs - limitations
- #7 Can’t save models where a datetime field is nested in a dict/list.
- Can’t use datetime objects in scan and query filters.
- DynamoDBModel.from_dict() does not check types as opposed to __init__()
DynamoDBMapper 1.6.1
This section documents all user visible changes included between DynamoDBMapper
version 1.6.0 and version 1.6.1
DynamoDBMapper 1.6.0
This section documents all user visible changes included between DynamoDBMapper
versions 1.5.0 and versions 1.6.0
Additions
- support for default values in a __defaults__ dict
- specify instances members via global __init__ **kwargs
- autogenerated API documentation
Changes
- transactions engine rewrite to support multiple targets
- transactions always persisted after first write attempt
- transactions engine now embeds its own minimal schema
- transactions can be set transient on a ‘per instance basis’ instead of class
- autoinc hash key now relies on atomic add to prevent risks of races
- autoinc magic element moved to -1 instead of 0 to prevent accidental overwrite
- autoinc magic element now hidden from scan results
- factorized default value code
- enforce batch size 100 limit
- full inline documentation
- fixed issue: All transactions fail if they have a bool field set to False
- 99% test coverage
Upgrade
- autoinc
- For all tables relying on autoinc feature, manually move element
at 'hash_key' = 0 to 'hash_key' = -1.
- transactions
- Should be retro-compatible but you are strongly advised to adopt the
new API.
- specify targets and setters via Transactions._get_transactors
- avoid any use of Transactions._get_target and Transactions._alter_target
- save is now called automatically as long as at least 1 write was attempted
- __schema__ might not be required anymore due to Transaction having a new one
- requester_id hash key must be set by the user
See these method’s documentation for more informations