Skip to main content

Database management for Invenio.

Project description

https://img.shields.io/github/license/inveniosoftware/invenio-db.svg https://github.com/inveniosoftware/invenio-db/workflows/CI/badge.svg https://img.shields.io/coveralls/inveniosoftware/invenio-db.svg https://img.shields.io/pypi/v/invenio-db.svg

Database management for Invenio. Further documentation available on https://invenio-db.readthedocs.io/

Changes

Version v2.5.0 (released 2026-03-24)

  • fix(test): close connections before drop the database

  • feat(alembic): safely create alembic_version table

Version v2.4.0 (released 2026-03-12)

  • fix(db): improve SQLALCHEMY_ENGINE_OPTIONS handling

Version v2.3.0 (released 2026-02-24)

  • fix(config): use UTC for PostgreSQL

  • feat(alembic): set lock_timeout with retry on migration connections

  • docs(sphinx): ignore unresolved Flask-Alembic type refs

  • tests(utc): add unit tests for UTCDateTime

Version v2.2.1 (released 2026-01-30)

  • fix(setup): pin sqlalchemy-continuum

Version v2.2.0 (released 2026-01-27)

  • chore(black): apply changes for black>=26

  • fix: str of datetime

  • change(utc): use always timezone.utc

  • fix: docs reference target not found

  • db: add Timestamp class

  • UTCDateTime: handle more cases

  • db: fix warning

  • fix: docs reference target not found

  • shared: add UTCDateTime column type

  • chore: add nitpick_ignore to fix CI

Version v2.1.2 (released 2025-11-17)

  • fix(setup): pin Flask-Alembic due to breaking changes in v3.2.0 causing issues with CI alembic tests across Invenio modules

Version v2.1.1 (released 2025-09-16)

  • fix(setup): pin sqlalchemy-utils

Version v2.1.0 (released 2025-07-17)

  • workflows: switch to centralized workflows

  • chores: replaced importlib_xyz with importlib

Version v2.0.0 (released 2024-11-19)

  • uow: possible solution for the rollback problem

  • fix: select of BinaryExpressions

  • setup: increase flask-sqlalchemy

  • ci: change to reusable workflows

  • setup: increase min sqlalchemy dependency

  • cli: password is per default hided

  • refactor: move MockEntryPoint to independent file

  • setup: remove upper pins

  • fix: remove warning and black problems

  • fix: WeakKeyDictionary

  • change: add proxy file

  • change: remove click 3 compatibility

  • fix: tests LocalProxy

  • setup: increase flask-sqlalchemy version

Version v1.3.1 (released 2024-11-14)

  • uow: improve decorator to create uow if it’s None

Version v1.3.0 (released 2024-11-04)

  • uow: add “on_exception” lifecycle hook
    • When an exception occurs and the unit of work is being rolled back, we want to add the possibility to perform some clean-up actions that can also be commited to the database.

    • The new on_exception method is added because we want to keep backwards compatibility and also introduce the same “triplet” of methods as we have for the “happy path” (on_register, on_commit, on_post_commit).

Version 1.2.0 (released 2024-10-01)

  • uow: moved Unit of Work pattern and non-records Operations from invenio-records-resources to invenio-db package

Version 1.1.5 (released 2023-09-11)

  • shared: removed ‘text()’ from cursor.execute for SQLite

Version 1.1.4 (released 2023-08-18)

  • shared: fix sqlalchemy op.execute statements due to latest sqlalchemy-continuum

Version 1.1.3 (released 2023-08-17)

  • alembic: fix sqlalchemy op.execute statements due to latest sqlalchemy-continuum

Version 1.1.2 (released 2023-05-23)

  • fix db engine dependencies

Version 1.1.1 (released 2023-05-22)

  • upgrade minimal python version

  • code formatting

  • force installing greenlet dependency

  • upper pin alembic dependency version

Version 1.0.15 (released 2023-05-17)

  • yanked due to mixed commits in the release

Version 1.1.0 (released 2023-04-06)

  • yanked, because of an incompatibility with Flask-SQLAlchemy v3.

Version 1.0.14 (released 2022-03-30)

  • Adds support for SQLAlchemy 1.4 and Flask v2.1.

Version 1.0.13 (released 2022-02-21)

  • Changes alembic migrations to run a single migration in one transaction instead of all migrations in a single transaction.

Version 1.0.12 (released 2022-02-14)

  • Fixes a deprecation warning.

Version 1.0.11 (released 2022-02-08)

  • Fixed issue with alembic version locations introduced in v1.0.10 due to the importlib change.

Version 1.0.10 (released 2022-02-08)

  • Adds a utility for creating an alembic test context to centrally manage fixes for alembic migration tests in other modules.

  • Replaces pkg_resources with importlib

Version 1.0.9 (released 2021-03-18)

  • Pins Flask-SQLAlchemy below 2.5 due to breaking changes. Perhaps to revisit when fixed.

Version 1.0.8 (released 2020-11-16)

  • Pins SQLAlchemy to >=1.2.18 and <1.4 due to incompatibility between SQLAlchemy and SQLAlchemy-Utils.

Version 1.0.7 (released 2020-11-08)

  • Hides password from output when running db init or db create.

  • Disables MySQL 8 tests due to issue with Alembic

Version 1.0.6 (released 2020-10-02)

  • Bump SQLAlchemy version to >=1.2.18 to add support for PostgreSQL 12

  • Integrate pytest-invenio and docker-services-cli for testing

  • Support Python 3.8

Version 1.0.5 (released 2020-05-11)

  • Deprecated Python versions lower than 3.6.0. Now supporting 3.6.0 and 3.7.0

  • Use centrally managed Flask version (through Invenio-Base)

  • Bumped SQLAlchemy version to >=1.1.0

  • SQLAlchemy-Utils set to <0.36 due to breaking changes with MySQL (VARCHAR length)

  • Enriched documentation on DB session management

  • Stop using example app

Version 1.0.4 (released 2019-07-29)

  • Unpin sqlalchemy-continuum

  • Added tests for postgresql 10

Version 1.0.3 (released 2019-02-22)

  • Added handling in case of missing Sqlite db file.

Version 1.0.2 (released 2018-06-22)

  • Pin SQLAlchemy-Continuum.

Version 1.0.1 (released 2018-05-16)

  • Minor fixes in documenation links and the license file.

Version 1.0.0 (released 2018-03-23)

  • Initial public release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

invenio_db-2.5.0.tar.gz (22.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

invenio_db-2.5.0-py2.py3-none-any.whl (21.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file invenio_db-2.5.0.tar.gz.

File metadata

  • Download URL: invenio_db-2.5.0.tar.gz
  • Upload date:
  • Size: 22.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for invenio_db-2.5.0.tar.gz
Algorithm Hash digest
SHA256 c0a2f12ad9566121efd776df975bccec7c3a626e630b9011c3464463622093f3
MD5 17f99cb8e612db8a4a0531c514b5279d
BLAKE2b-256 e7a1bb401b45bce11d5356961cd1329613b6ea04d7a6bf80021b8e255f54e1dc

See more details on using hashes here.

File details

Details for the file invenio_db-2.5.0-py2.py3-none-any.whl.

File metadata

  • Download URL: invenio_db-2.5.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 21.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for invenio_db-2.5.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ca972058f2644cb34929cdb927ec8cd15f320357ede106d0258047d95d744d54
MD5 0d5706e8195a7a27244e709336db8c5b
BLAKE2b-256 e498d7f6dd6fd69395e8a5d13c7985a14a54c73b31ed9923ea30d9c6757a3a4e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page