1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
Upgrading to Newer Releases
===========================
Version 4.0
-----------
.. _upgrade_v4_0:
- API changes:
- Replace ``TinyDB.purge_tables(...)`` with ``TinyDB.drop_tables(...)``
- Replace ``TinyDB.purge_table(...)`` with ``TinyDB.drop_table(...)``
- Replace ``Table.purge()`` with ``Table.truncate()``
- Replace ``TinyDB(default_table='name')`` with ``TinyDB.default_table_name = 'name'``
- Replace ``TinyDB(table_class=Class)`` with ``TinyDB.table_class = Class``
- If you were using ``TinyDB.DEFAULT_TABLE``, ``TinyDB.DEFAULT_TABLE_KWARGS``,
or ``TinyDB.DEFAULT_STORAGE``: Use the new methods for customizing TinyDB
described in :ref:`How to Extend TinyDB <extend_hooks>`
Version 3.0
-----------
.. _upgrade_v3_0:
Breaking API Changes
^^^^^^^^^^^^^^^^^^^^
- Querying (see `Issue #62 <https://github.com/msiemens/tinydb/issues/62>`_):
- ``where('...').contains('...')`` has been renamed to
``where('...').search('...')``.
- ``where('foo').has('bar')`` is replaced by either
``where('foo').bar`` or ``Query().foo.bar``.
- In case the key is not a valid Python identifier, array
notation can be used: ``where('a.b.c')`` is now
``Query()['a.b.c']``.
- Checking for the existence of a key has to be done explicitly:
``where('foo').exists()``.
- ``SmartCacheTable`` has been moved to `msiemens/tinydb-smartcache`_.
- Serialization has been moved to `msiemens/tinydb-serialization`_.
- Empty storages are now expected to return ``None`` instead of raising
``ValueError`` (see `Issue #67 <https://github.com/msiemens/tinydb/issues/67>`_).
.. _msiemens/tinydb-smartcache: https://github.com/msiemens/tinydb-smartcache
.. _msiemens/tinydb-serialization: https://github.com/msiemens/tinydb-serialization
.. _upgrade_v2_0:
Version 2.0
-----------
Breaking API Changes
^^^^^^^^^^^^^^^^^^^^
- The syntax ``query in db`` is not supported any more. Use ``db.contains(...)``
instead.
- The ``ConcurrencyMiddleware`` has been removed due to a insecure implementation
(see `Issue #18 <https://github.com/msiemens/tinydb/issues/18>`_). Consider
:ref:`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 <http://tinydb.readthedocs.io/en/v2.0/upgrade.html#upgrade-v2-0>`_
|