1
1
Fork 0
mirror of https://code.mensbeam.com/MensBeam/Arsse.git synced 2024-12-23 17:12:41 +00:00
Arsse/sql/PostgreSQL/6.sql
J. King 86897af0b3 Add ability to enable scraper
Also transfer any existing scraper booleans on database upgrade. It was
previously possible to enable scraping manually by editing the database,
and these settings will be honoured.
2021-01-16 19:06:20 -05:00

55 lines
2.1 KiB
SQL

-- SPDX-License-Identifier: MIT
-- Copyright 2017 J. King, Dustin Wilson et al.
-- See LICENSE and AUTHORS files for details
-- Please consult the SQLite 3 schemata for commented version
alter table arsse_tokens add column data text default null;
alter table arsse_subscriptions add column keep_rule text default null;
alter table arsse_subscriptions add column block_rule text default null;
alter table arsse_marks add column hidden smallint not null default 0;
alter table arsse_users add column num bigint unique;
alter table arsse_users add column admin smallint not null default 0;
create temp table arsse_users_existing(
id text not null,
num bigserial
);
insert into arsse_users_existing(id) select id from arsse_users;
update arsse_users as u
set num = e.num
from arsse_users_existing as e
where u.id = e.id;
drop table arsse_users_existing;
alter table arsse_users alter column num set not null;
create table arsse_user_meta(
owner text not null references arsse_users(id) on delete cascade on update cascade,
key text not null,
modified timestamp(0) without time zone not null default CURRENT_TIMESTAMP,
value text,
primary key(owner,key)
);
alter table arsse_subscriptions add column scrape smallint not null default 0;
update arsse_subscriptions set scrape = 1 where feed in (select id from arsse_feeds where scrape = 1);
alter table arsse_feeds drop column scrape;
alter table arsse_articles add column content_scraped text;
create table arsse_icons(
id bigserial primary key,
url text unique not null,
modified timestamp(0) without time zone,
etag text not null default '',
next_fetch timestamp(0) without time zone,
orphaned timestamp(0) without time zone,
type text,
data bytea
);
insert into arsse_icons(url) select distinct favicon from arsse_feeds where favicon is not null and favicon <> '';
alter table arsse_feeds add column icon bigint references arsse_icons(id) on delete set null;
update arsse_feeds as f set icon = i.id from arsse_icons as i where f.favicon = i.url;
alter table arsse_feeds drop column favicon;
update arsse_meta set value = '7' where "key" = 'schema_version';