In the same fashion limit=BAD fallsback to the default value,
fallback to zero when offset=WORSE.
Also add test coverage verifying limit/offset do the right thing.
Signed-off-by: Loic Dachary <loic@dachary.org>
Freesound is a lib used for audio processing. Unfortunately, it doesn't
work with python3.
It lives in extlib, so we don't own the code. But, since the patch is
pretty trivial, it was decided to merge it anyway and propose the fix to
upstream. Which was done in https://github.com/MTG/freesound/pull/700 .
Also, a bugreport was opened to use upstream version instead of our
local, when it gets merged, ticket 5403.
For some reason the alembic connection wasn't seeing any tables that existed
however the existing connection works well and we shouldn't be creating a brand
new one when we have one ready to use. I've used a little bit of a hack due to our
old version of alembic.
After 0.7.5 of alembic it offers a `Config.attributes` dictionary which is designed to
allow you to pass your connection/engine/whatever to the env.py config script so you're
not required to create new ones. As we're on an older version I just create a dictionary
with the same name and use it as otherwise documented. It seems this is the suggested
fix for #5395 and it fixes#5398 too.
When a user deleted media or other objects any notificationn objects or reports
would cause errors as the object doesn't exist anymore. This now removes them or
sets them to None as expected by the code. This also adds some code to the base
deletion code to make sure this happens when an object is deleted.
Just like we would have in sqlalchemy-migration inspect_table works and
is better than constantly redefining a table in the migration. This switches
the migration to use that method.
The database connection was being set in a alembic.ini config file, if the user
had specified postgres the "sqlite" connection URL in alembic.ini would override
that. We probably should look into this more so i've opened #5395.
When an item is deleted it should be removed from all collections, this commit
makes that happen. It's got two changes:
1. Adds the code so when an object is soft deleted, it's automatically removed from
all collection items
2. Add a migration to fix this issue for those who have tombstones (Graveyard objects)
in their collections because of this bug.
This commit requires you to run a migration