-- Migration 002: Rohe Feed-Antworten ablegen, Parser-Felder ergaenzen -- -- psql "$DATABASE_URL" -v ON_ERROR_STOP=1 -f migrations/002-rohablage-und-felder.sql -- -- Setzt 001 voraus. Bestandszeilen bekommen die neuen Spalten leer; sie -- fuellen sich, sobald die Quelle das Item das naechste Mal ausliefert. -- Der Inhalts-Hash bleibt bewusst auf Titel/Teaser/URL beschraenkt, sonst -- gaelte beim ersten Lauf nach dem Update jedes Bestandsitem als revidiert. begin; alter table raw_items add column if not exists position integer, add column if not exists volltext text, add column if not exists kategorien text[], add column if not exists medien jsonb, add column if not exists links text[], add column if not exists aktualisiert timestamptz; comment on column raw_items.kategorien is 'Vom Verlag selbst vergebene Themenlabel - Vorfilter und Prompt-Kontext'; comment on column raw_items.position is 'Rang im Feed beim ersten Sehen. Spaeter nicht fortgeschrieben'; create table if not exists feed_abrufe ( id bigserial primary key, quelle text not null references quellen(id), slot timestamptz not null, abgerufen_am timestamptz not null default now(), http_status integer, header jsonb, koerper_hash text not null, koerper bytea not null, bytes_roh integer, bytes_gz integer, unique (quelle, koerper_hash) ); create index if not exists feed_abrufe_quelle_idx on feed_abrufe (quelle, abgerufen_am desc); alter table poll_laeufe add column if not exists items_uebersprungen integer not null default 0, add column if not exists bytes_roh integer; commit;