Merged in jmathison/v2-upload-batch (pull request #224)

Implement v2 upload batch cleanup

* Implement v2 upload batch cleanup

* Merge remote-tracking branch 'origin/main' into jmathison/v2-upload-batch

* Address upload batch review feedback

* Raise batch worker coverage

* Fix batch cleanup review issues


Approved-by: Jay Brown
This commit is contained in:
Jacob Mathison
2026-05-08 21:42:46 +00:00
parent 7b820b18c2
commit a080ca59d8
35 changed files with 2587 additions and 108 deletions
@@ -0,0 +1,8 @@
DROP INDEX IF EXISTS idx_batch_uploads_folder_cleanup_pending;
ALTER TABLE batch_uploads
DROP COLUMN IF EXISTS folder_cleanup_completed_at;
DROP INDEX IF EXISTS idx_batch_folder_candidates_folder_id;
DROP INDEX IF EXISTS idx_batch_folder_candidates_batch_id;
DROP TABLE IF EXISTS batch_folder_candidates;
@@ -0,0 +1,18 @@
CREATE TABLE batch_folder_candidates (
batch_id uuid NOT NULL REFERENCES batch_uploads(id) ON DELETE CASCADE,
folder_id uuid NOT NULL REFERENCES folders(id) ON DELETE CASCADE,
path text NOT NULL,
existed_before boolean NOT NULL,
created_at timestamp NOT NULL DEFAULT NOW(),
PRIMARY KEY (batch_id, folder_id)
);
CREATE INDEX idx_batch_folder_candidates_batch_id ON batch_folder_candidates(batch_id);
CREATE INDEX idx_batch_folder_candidates_folder_id ON batch_folder_candidates(folder_id);
ALTER TABLE batch_uploads
ADD COLUMN folder_cleanup_completed_at timestamp;
CREATE INDEX idx_batch_uploads_folder_cleanup_pending
ON batch_uploads(created_at)
WHERE folder_cleanup_completed_at IS NULL;