Files
usenet-indexer/database/migrations/1770000003400_fold_candidates.ts
T
Daan MeijerandClaude Opus 5.5 329c7a1373
Test and deploy / test (push) Successful in 44s
Test and deploy / edge (push) Successful in 1m57s
Test and deploy / deploy (push) Successful in 2m14s
Fold sidecars (.nfo, .sfv, .nzb) apart from their upload into it
"Murdoch Mysteries S8D1 [00/80] - \"….nzb\"" beside its "[01/94]" upload
was a release of its own (23k sidecar-only releases on the corpus, 15k with
the poster's bigger release within 10 minutes). The settler queues small
settled releases (fold_candidates); the merger's third pass folds one whose
files are all sidecars into the poster's bigger release in the same group
within 10 minutes: the one sharing a 4+ letter word with its subject, else
the one under the same counter total, else none (via 'sidecar').

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 12:10:48 +02:00

21 lines
688 B
TypeScript

import { BaseSchema } from '@adonisjs/lucid/schema'
/**
* Small releases the settler just settled (at most 3 files, under 1 MB), queued for the merger's sidecar fold
* (app/services/sidecar_folder.ts): an .nfo, .sfv or .nzb that came apart from its upload (another counter, another
* name) joins it. A queue, so the fold needn't scan the releases (LOG.md 2026-10-15 (57)).
*/
export default class extends BaseSchema {
async up() {
this.schema.raw(`
CREATE TABLE fold_candidates (
release_id bigint PRIMARY KEY,
created_at timestamptz NOT NULL DEFAULT now()
)`)
}
async down() {
this.schema.raw(`DROP TABLE IF EXISTS fold_candidates`)
}
}