goon/alembic/versions
goon-foss 8f8bb1c448 fix(tags): tag_vertical_counts bez klucza obcego, koniec zakleszczenia o 05:00
Refresh licznikow (co 3 h) i tag_tail_trim (raz dziennie) startuja razem
o 05:00. Kasowanie osieroconych tagow schodzilo kaskada do
tag_vertical_counts i czekalo na refresh, a refresh przy wstawianiu czekal
na blokade tego samego tagu przez sprawdzenie klucza obcego. Od 29.09
Postgres co rano zabijal przycinanie (Sentry GOON-7N). Tabela to kopia
liczona od zera, wiec klucz obcy nie byl potrzebny (migracja 0050).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 20:24:42 +02:00
..
20260502_0001_initial.py Initial commit 2026-05-20 10:10:22 +02:00
20260502_0002_playback_sources.py Initial commit 2026-05-20 10:10:22 +02:00
20260503_0003_playback_dead.py Initial commit 2026-05-20 10:10:22 +02:00
20260504_0004_animated_thumbnail.py Initial commit 2026-05-20 10:10:22 +02:00
20260504_0005_favorite_performers.py Initial commit 2026-05-20 10:10:22 +02:00
20260504_0006_blacklists.py Initial commit 2026-05-20 10:10:22 +02:00
20260504_0007_play_progress.py Initial commit 2026-05-20 10:10:22 +02:00
20260506_0008_performer_search_meta.py Initial commit 2026-05-20 10:10:22 +02:00
20260506_0009_movies.py Initial commit 2026-05-20 10:10:22 +02:00
20260506_0010_favorite_scenes.py Initial commit 2026-05-20 10:10:22 +02:00
20260507_0011_origin_pornapp_to_tube.py Initial commit 2026-05-20 10:10:22 +02:00
20260508_0012_favorite_studios.py Initial commit 2026-05-20 10:10:22 +02:00
20260509_0013_bug_reports.py Initial commit 2026-05-20 10:10:22 +02:00
20260509_0014_favorite_movies.py Initial commit 2026-05-20 10:10:22 +02:00
20260510_0015_bug_reports_movie_id.py Initial commit 2026-05-20 10:10:22 +02:00
20260512_0016_realdebrid_cache.py Initial commit 2026-05-20 10:10:22 +02:00
20260512_0017_drop_realdebrid_cache.py Initial commit 2026-05-20 10:10:22 +02:00
20260528_0018_movie_play_progress.py feat(movies): watched/continue-watching tracking end-to-end 2026-05-28 23:24:06 +02:00
20260531_0019_taxonomy_scene_counts.py perf(taxonomy): denormalize scene_count for tags/performers/studios 2026-05-31 17:53:48 +02:00
20260602_0020_scene_tags_tag_id_index.py perf(scenes): drop exact count on filtered lists; index scene_tags(tag_id) 2026-06-02 12:00:36 +02:00
20260607_0021_scene_tags_tag_id_stats.py migration(0021): raise scene_tags.tag_id statistics target to 1000 2026-06-07 21:12:22 +02:00
20260608_0022_device_scoped_user_state.py feat(api): device-scope user state (favorites/progress/blacklists) 2026-06-10 08:58:01 +02:00
20260612_0023_bug_report_replies.py feat(bug-reports): two-way replies (device-scoped) + admin reply endpoint 2026-06-12 11:35:44 +02:00
20260616_0024_saved_searches.py feat(api): per-device saved searches (keyword favorites) 2026-06-16 13:52:18 +02:00
20260622_0025_source_ranking.py feat(sources): 0-5★ ranking on Sites (freshness/metadata/plays) + playback telemetry 2026-06-22 10:00:59 +02:00
20260702_0026_scene_backfill_flag.py fix(review): player recovery deadlocks, quick-play re-fire, backfill gaps, em-dashes 2026-07-02 09:20:40 +02:00
20260705_0027_playback_event_error_detail.py fix(watchporn): re-resolve stale CDN URL in-player, drop WebView page fallback 2026-07-05 01:18:08 +02:00
20260721_0028_tags_name_altkey_index.py fix(tags): collapse spelling-variant duplicate tags + prevent regrowth 2026-07-21 15:59:33 +02:00
20260727_0025_phash_blacklist.py fix(dedup): blacklista zdegenerowanych phashy + scalenie 4647 duplikatow 2026-07-27 12:47:20 +02:00
20260727_0026_scene_performer_source.py feat(dedup): provenance przypisan performerow do scen (scene_performers.source_id) 2026-07-27 15:04:10 +02:00
20260727_0027_scenes_title_trgm.py perf(scenes): indeks trigramowy na title + ranking kandydatow do przegladu 2026-07-27 15:59:52 +02:00
20260813_0028_phash_backfill_queue.py feat(dedup): backfill phasha z zapisanych miniaturek 2026-08-13 10:49:12 +02:00
20260818_0029_scenes_max_quality.py feat(filtr): minimalna jakosc w filtrze scen (720p/1080p/4K) 2026-08-18 11:06:34 +02:00
20260818_0030_scenes_quality_threshold_idx.py feat(filtr): minimalna jakosc w filtrze scen (720p/1080p/4K) 2026-08-18 11:06:34 +02:00
20260820_0031_duration_backfill_queue.py feat(ingest): backfill brakujacej dlugosci scen 2026-08-20 12:10:22 +02:00
20260820_0032_origin_release_sort_idx.py perf(scenes): indeks pod sortowanie serwisu po dacie premiery + fix wyscigu zapisu wyszukiwania 2026-08-20 16:00:58 +02:00
20260820_0033_effective_date_idx.py fix(sites): sortuj po dacie premiery z fallbackiem na date dodania + napraw miniaturki 2026-08-20 16:25:53 +02:00
20260902_0034_favorite_sites.py feat(favorites): przypinane strony (favorite_sites) z endpointami list/add/remove 2026-09-02 22:44:35 +02:00
20260914_0035_scenes_duration_idx.py feat(scenes): sortowanie losowe (seed, okno po PK) i po dlugosci (indeks partial), zgloszenie ae6a045b 2026-09-14 15:13:13 +02:00
20260914_0036_clips.py feat(clips): tabele klipow do feedu Swipe + ingest RedGifs (etap 2) 2026-09-14 16:32:57 +02:00
20260914_0037_clip_feed.py feat(clips): feed Swipe z afinicznoscia, pamiecia widzianych i telemetria (etap 3) 2026-09-14 20:29:49 +02:00
20260915_0038_scenes_studio_effective_date_idx.py perf(api): liczniki +N ulubionych z cache i indeksem, podobne sceny z najrzadszych tagow 2026-09-15 15:05:43 +02:00
20260916_0039_scenes_title_created_id_idx.py perf(db): kasuje ix_scenes_title_normalized, zbedny prefiks indeksu z 0039 2026-09-16 10:47:24 +02:00
20260916_0040_drop_scenes_title_normalized_idx.py perf(db): kasuje ix_scenes_title_normalized, zbedny prefiks indeksu z 0039 2026-09-16 10:47:24 +02:00
20260916_0041_scene_external_refs_scene_source_idx.py perf(api): tanszy odsiew stub-scen i zwarcie sprzecznego filtra playbacku 2026-09-16 11:11:17 +02:00
20260918_0042_scene_tags_sort_date.py perf(api): lista scen jednego tagu od najnowszych po indeksie na scene_tags (GOON-64) 2026-09-22 12:00:11 +02:00
20260918_0043_scene_tags_tag_sort_idx.py perf(api): lista scen jednego tagu od najnowszych po indeksie na scene_tags (GOON-64) 2026-09-22 12:00:11 +02:00
20260919_0044_playback_eporner_thumb_idx.py feat: automatyczne sprzatanie martwych zrodel sxyprn i eporner 2026-09-22 12:00:11 +02:00
20260921_0045_autovacuum_big_tables.py fix: source-stats z probki scen, nizsze progi autovacuum 2026-09-22 12:00:11 +02:00
20260922_0046_scenes_title_stats.py fix(api): szybkie szukanie po tytule dla popularnych i krotkich fraz 2026-09-22 12:00:11 +02:00
20260927_0047_tag_vertical_counts.py perf(tags): liczniki tagow JAV i animacji liczone w tle 2026-09-27 19:37:23 +02:00
20260927_0048_playback_sources_sort_date.py perf(scenes): lista serwisu od najnowszych prosto z indeksu 2026-09-27 20:18:59 +02:00
20260927_0049_playback_origin_sort_idx.py perf(scenes): lista serwisu od najnowszych prosto z indeksu 2026-09-27 20:18:59 +02:00
20260930_0050_tag_vertical_counts_no_fk.py fix(tags): tag_vertical_counts bez klucza obcego, koniec zakleszczenia o 05:00 2026-09-30 20:24:42 +02:00