Change log - Migration guide.¶
ddbmock 1.0.2¶
This section documents all user visible changes included between ddbmock version 1.0.0 and version 1.0.2.
Fixes¶
- Fixed issues #10, #11, #13 and #15. Thanks to Lance Linder, Michael Hart
and James O’Beirne for the pull requests.
ddbmock 1.0.0¶
This section documents all user visible changes included between ddbmock versions 0.4.1 and versions 1.0.0
Additions¶
- Add documentation for
Table
internal API- Add documentation for
DynamoDB
(database) internal API- Add documentation for
Key
internal API- Add documentation for
Item
andItemSize
internal API
Changes¶
- Add a
truncate
method to the tables
ddbmock 0.4.1 aka 1.0.0 RC¶
This section documents all user visible changes included between ddbmock versions 0.4.0 and versions 0.4.1
This iteration was mostly focused on polishing and brings last missing bits.
Additions¶
- Add support for
ExclusiveStartKey
,LastEvaluatedKey
andLimit
forScan
Changes¶
- Wrap all write operations in a table scope lock: each individual operation should be atomic
- Addressed Thread safety issues
- Add option to disable status update timers (#8)
- Fix BETWEEN bug (#7)
ddbmock 0.4.0¶
This section documents all user visible changes included between ddbmock versions 0.3.2 and versions 0.4.0
This iteration wa focused on modularity and planification.
Additions¶
consistent_read parameter to
Query
central config.py file with all constraints
timer for table status changes
full
Query
supportthroughput statistics to help plan real usage
pre-instanciate DynamoDB as dynamodb
- datastore API
- bundle memory store
- bundle sqlite store
- add config param to switch
clean_boto_patch
to restore originalboto.dynamodb
behaviorallow
ConsistentRead
on a per-table basis forBatchGetItem
Removal¶
- legacy
connect_boto
andconnect_ddbmock
dynamodb_api_validate
decorator. It is now called automaticallywrap_exceptions
decorator. It is now integrated to the router- minimum throughput change of 10 %
Changes¶
- global refactoring
- rename
routes
module tooperations
for consistency with DynamoDB - Move from Voluptuous to Onctuous for validations, less code
- fix server startup with pserver (bad backage name)
- fix server crash on validation exception (bad serialization)
- accurate throughput for all Read operations
- accurate throughput for all Write operations
- move ‘views’ to ‘routes’
- remove all pyramid code from ‘views’/’routes’
- pyramid and boto entry points now shares most of the router
- UpdateItem failed to save keys properly
- integrate boto dynamodb integration tests to test suite (disabled unless ‘–no-skip’)
- do not require (real) user credentials in boto patch version (#5)
Upgrade¶
- rename
connect_boto
toconnect_boto_patch
- rename
connect_ddbmock
toconnect_boto_network
- rename all
DynamoDB() to ``dynamodb
- replace ...import DynamoDB by ... import dynamodb
ddbmock 0.3.2¶
This section documents all user visible changes included between ddbmock versions 0.3.1 and versions 0.3.2
This iteration was focused on passing boto integration tests.
Additions¶
- preliminary batchWriteItem support
Changes¶
- fix number validation
- fix: item where created by defaultdict magic when looking for bogus item.
- return no Item field when not found, but empty when filtered
- [botopatch] handle DynamoDBConditionalCheckFailedError error
ddbmock 0.3.1¶
This section documents all user visible changes included between ddbmock versions 0.3.0 and versions 0.3.1
This iteration was focused on accuracy
Additions¶
- 100% tests coverage
- add basic tests for pyramid entry-point (#1)
- add plenty of unit and functional tests. Coverage is 100%
- add support for all
ALL_OLD
ALL_NEW
UPDATED_OLD
UPDATED_NEW
inUpdateItem
- add accurate field size calculation
- add accurate item size calculation
- add accurate table size calculation
- add MAX_TABLES check at table creation
Changes¶
- accurate table statuses
- fix pyramid entry-point
- fix list validations. Len limitation was not working
- attempt to store empty field/set raise ValidationError (#4)
- accurate exception detection and reporting in UpdateTable
- accurate
hash_key
andrange_key
size validation - accurate number limitations (max 38 digits precision; between 10^-128 and 10^+126)
- rename
connect_boto
toconnect_boto_patch
+ compat layer - rename
connect_ddbmock
toconnect_boto_network
+ compat layer - block PutItem/UpdateItem when bigger than
MAX_ITEM_SIZE
Upgrade¶
Nothing mandatory as this is a minor release but, I recommend that you:
- rename
connect_boto
toconnect_boto_patch
- rename
connect_ddbmock
toconnect_boto_network
ddbmock 0.3.0¶
Initial ddbmock release. This is alpha quality sofware. Some
import features such as “Excusive Start Key”, “Reverse” and
“Limit” as well as BatchWriteItem
have not been written (yet).
Additions¶
- entry-point WEB (network mode)
- entry-point Boto (standalone mode)
- support for
CreateTable
method - support for
DeleteTable
method - support for
UpdateTable
method - support for
DescribeTable
method - support for
GetItem
method - support for
PutItem
method - support for
DeleteItem
method - support for
UpdateItem
method (small approximations) - support for
BatchGetItem
method (initial) - support for
Query
method (initial) - support for
Scan
method (initial) - all comparison operators
- aggresive input validation
Known bugs - limitations¶
- no support for
BatchWriteItem
- no support for “Excusive Start Key”, “Reverse” and “Limit” in
Query
andScan
- no support for “UnprocessedKeys” in
BatchGetItem
- Web entry-point is untested, fill bugs if necessary :)