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.1 (released 2026-06-05)

  • fix(options): empty string is valid

  • fix(timezone): convert non utc to utc on load from db

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.1.tar.gz (22.5 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.1-py2.py3-none-any.whl (22.1 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

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

File hashes

Hashes for invenio_db-2.5.1.tar.gz
Algorithm Hash digest
SHA256 1308749b96cd0a29c537c3b60224745bf59b1b631038de8f01b4e0676111b76f
MD5 3ad6c002feb38d26ca9e80f89b23ef20
BLAKE2b-256 a5489e2406e698716243fe22bf8f35823ca456d4405ac86a66a4bd4827043db1

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for invenio_db-2.5.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0cac942699aeaed0ad38f088e3b743d5871c66f909f4f449b02623bac57bf633
MD5 e1caa01886ab4e4dfc2cfe1baa2bf281
BLAKE2b-256 4ce3044a8c02bd4ea69ceea0a2c6fa04d5527271e4b85e9e08cd11c497baee72

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