summaryrefslogtreecommitdiff
path: root/migrations/versions/939a08e1d6e5_.py
diff options
context:
space:
mode:
Diffstat (limited to 'migrations/versions/939a08e1d6e5_.py')
-rw-r--r--migrations/versions/939a08e1d6e5_.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/migrations/versions/939a08e1d6e5_.py b/migrations/versions/939a08e1d6e5_.py
index f86dcb3..e389b41 100644
--- a/migrations/versions/939a08e1d6e5_.py
+++ b/migrations/versions/939a08e1d6e5_.py
@@ -58,14 +58,19 @@ def upgrade():
return # There are no currently unexpired files
# Calculate an expiration date for all existing files
- files = session.scalars(
+
+ q = session.scalars(
sa.select(File)
.where(
- sa.not_(File.removed),
- File.sha256.in_(unexpired_files)
+ sa.not_(File.removed)
)
)
updates = [] # We coalesce updates to the database here
+
+ # SQLite has a hard limit on the number of variables so we
+ # need to do this the slow way
+ files = [f for f in q if f.sha256 in unexpired_files]
+
for file in files:
file_path = storage / file.sha256
stat = os.stat(file_path)