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=Class - If you were using
TinyDB.DEFAULT_TABLE,TinyDB.DEFAULT_TABLE_KWARGS,orTinyDB.DEFAULT_STORAGE: Use the new methods for customizing TinyDBdescribed inHow to Extend TinyDB
- Replace
Version 3.0¶
Breaking API Changes¶
- Querying (seeIssue #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, arraynotation can be used:
where('a.b.c')is nowQuery()['a.b.c'].
- In case the key is not a valid Python identifier, arraynotation can be used:
- Checking for the existence of a key has to be done explicitly:
where('foo').exists().
SmartCacheTablehas been moved tomsiemens/tinydb-smartcache.- Serialization has been moved tomsiemens/tinydb-serialization.
- Empty storages are now expected to return
Noneinstead of raisingValueError(seeIssue #67).
Version 2.0¶
Breaking API Changes¶
- The syntax
queryindbis not supported any more. Usedb.contains(...)instead. - The
ConcurrencyMiddlewarehas been removed due to a insecure implementation(seeIssue #18). Considertinyrecord instead.
Apart from that the API remains compatible to v1.4 and prior.
For migration from v1 to v2, check out thev2.0 documentation
