|
`alembic`[1] is a database migration tool which is invoked from the CLI
when installing the telegram bridge, but never needed during the
runtime.
The reason why `alembic` is required here is to ensure that it
exists in the Python environment when deploying the bridge. However
`alembic` requires `mautrix-telegram` in its environment to create a
database schema from the Python models.
Such a dependency relation may be possible with tools like virtualenv,
however it'll result in an infinite recursion at evaluation time in Nix.
With this patch, `mautrix-telegram` doesn't depend on `alembic` anymore
and provides a patched alembic (`pkgs.mautrix-telegram.alembic`) which
has `mautrix-telegram` in its path.
[1] https://alembic.sqlalchemy.org/en/latest/
|