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

Changes

  • fixed bug in scan

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

Removal

(None)

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

Known bugs

(None)