Upgrading to Newer Releases¶
Version 4.0¶
- API changes:
Replace
TinyDB.purge_tables(...)withTinyDB.drop_tables(...)Replace
TinyDB.purge_table(...)withTinyDB.drop_table(...)Replace
Table.purge()withTable.truncate()Replace
TinyDB(default_table='name')withTinyDB.default_table_name = 'name'Replace
TinyDB(table_class=Class)withTinyDB.table_class = ClassIf you were using
TinyDB.DEFAULT_TABLE,TinyDB.DEFAULT_TABLE_KWARGS, orTinyDB.DEFAULT_STORAGE: Use the new methods for customizing TinyDB described in How to Extend TinyDB
Version 3.0¶
Breaking API Changes¶
Querying (see Issue #62):
where('...').contains('...')has been renamed towhere('...').search('...').where('foo').has('bar')is replaced by eitherwhere('foo').barorQuery().foo.bar.In case the key is not a valid Python identifier, array notation can be used:
where('a.b.c')is nowQuery()['a.b.c'].
Checking for the existence of a key has to be done explicitly:
where('foo').exists().
SmartCacheTablehas been moved to msiemens/tinydb-smartcache.Serialization has been moved to msiemens/tinydb-serialization.
Empty storages are now expected to return
Noneinstead of raisingValueError(see Issue #67).
Version 2.0¶
Breaking API Changes¶
The syntax
query in dbis not supported any more. Usedb.contains(...)instead.The
ConcurrencyMiddlewarehas been removed due to a insecure implementation (see Issue #18). Consider tinyrecord instead.
Apart from that the API remains compatible to v1.4 and prior.
For migration from v1 to v2, check out the v2.0 documentation