I had the bright idea of creating this update script but it doesn't work
and hasn't been maintained, so it's just sitting there causing confusing
and requiring weird things to exist in other places.
Now, the unused `version` field can be removed and I can scrap the
management command for getting versions.
Previously when the deduplicate_book_data script tried to merge an
edition that was on a shelf or in a list then it would fail because when
the canonical book was added to the shelf or the list then it wouldn’t
set the extra fields of the linking table for the “through” model of the
field. These would end up defaulting to NULL, but that is not valid for
some of the fields in ShelfItem and ListItem so postgres wouldn’t accept
it.
To fix that, this patch makes it skip updating fields that have a
non-autogenerated linking table. The linking table would appear as a
separate model anyway so the book will be moved via that instead.
Fixes: #2817
* manual approve email via bw-dev/manage.py
./bw-dev confirm_email USER
(venv) python manage.py confirm_email USER
* add "confirm_email" and "remove_2fa" to autocompletion
* OK, sometimes I feel fooled by this.
The lione was not LONG ENOUGH.
* Change deactivate reason to None
* Whyever this works now
Python in my system is a wondermachine.
Previously we were querying the full book objects just to get a list of
id's, which is much slower and also takes a lot more memory, which can
cause the process to be killed on memory-limited machines with a large
number of books.
Instead, since we're just dispatching jobs here, we can just ask for the
id's, which is faster and much more practical memory-wise.
The map is a little annoying, I didn't see a way to directly get just a
list of the value of one field, so we have to get a list of
dictionairies with one key and then pull that key out. Whatevs.
By default, OpenLibrary and Inventaire were prioritzed below other
BookWyrm nodes. In practice, people have gotten better search results
from these connectors, hence the change. With the search refactor, this
has much less impact, but it will show these search results higher in
the list.
If the results page shows all the connectors' results integrated, this
field should be removed entirely.
* Removes irrelevent initial federated server data
* Adds secondary search order to instance list
* Show last updated date
* Adds filters to federated server view
* Updates unit tests