mirror of
https://code.mensbeam.com/MensBeam/Arsse.git
synced 2024-12-22 21:22:40 +00:00
114 lines
3.6 KiB
MySQL
114 lines
3.6 KiB
MySQL
|
-- 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
|
||
|
|
||
|
create table arsse_meta(
|
||
|
`key` varchar(255) primary key,
|
||
|
value longtext
|
||
|
);
|
||
|
|
||
|
create table arsse_users(
|
||
|
id varchar(255) primary key,
|
||
|
password varchar(255),
|
||
|
name varchar(255),
|
||
|
avatar_type varchar(255),
|
||
|
avatar_data longblob,
|
||
|
admin boolean default 0,
|
||
|
rights bigint not null default 0
|
||
|
);
|
||
|
|
||
|
create table arsse_users_meta(
|
||
|
owner varchar(255) not null references arsse_users(id) on delete cascade on update cascade,
|
||
|
`key` varchar(255) not null,
|
||
|
value varchar(255),
|
||
|
primary key(owner,`key`)
|
||
|
);
|
||
|
|
||
|
create table arsse_folders(
|
||
|
id serial primary key,
|
||
|
owner varchar(255) not null references arsse_users(id) on delete cascade on update cascade,
|
||
|
parent bigint references arsse_folders(id) on delete cascade,
|
||
|
name varchar(255) not null,
|
||
|
modified datetime(0) not null default CURRENT_TIMESTAMP, --
|
||
|
unique(owner,name,parent)
|
||
|
);
|
||
|
|
||
|
create table arsse_feeds(
|
||
|
id serial primary key,
|
||
|
url varchar(255) not null,
|
||
|
title varchar(255),
|
||
|
favicon varchar(255),
|
||
|
source varchar(255),
|
||
|
updated datetime(0),
|
||
|
modified datetime(0),
|
||
|
next_fetch datetime(0),
|
||
|
orphaned datetime(0),
|
||
|
etag varchar(255) not null default '',
|
||
|
err_count bigint not null default 0,
|
||
|
err_msg varchar(255),
|
||
|
username varchar(255) not null default '',
|
||
|
password varchar(255) not null default '',
|
||
|
size bigint not null default 0,
|
||
|
scrape boolean not null default 0,
|
||
|
unique(url,username,password)
|
||
|
);
|
||
|
|
||
|
create table arsse_subscriptions(
|
||
|
id serial primary key,
|
||
|
owner varchar(255) not null references arsse_users(id) on delete cascade on update cascade,
|
||
|
feed bigint not null references arsse_feeds(id) on delete cascade,
|
||
|
added datetime(0) not null default CURRENT_TIMESTAMP,
|
||
|
modified datetime(0) not null default CURRENT_TIMESTAMP,
|
||
|
title varchar(255),
|
||
|
order_type boolean not null default 0,
|
||
|
pinned boolean not null default 0,
|
||
|
folder bigint references arsse_folders(id) on delete cascade,
|
||
|
unique(owner,feed)
|
||
|
);
|
||
|
|
||
|
create table arsse_articles(
|
||
|
id serial primary key,
|
||
|
feed bigint not null references arsse_feeds(id) on delete cascade,
|
||
|
url varchar(255),
|
||
|
title varchar(255),
|
||
|
author varchar(255),
|
||
|
published datetime(0),
|
||
|
edited datetime(0),
|
||
|
modified datetime(0) not null default CURRENT_TIMESTAMP,
|
||
|
content longtext,
|
||
|
guid varchar(255),
|
||
|
url_title_hash varchar(255) not null,
|
||
|
url_content_hash varchar(255) not null,
|
||
|
title_content_hash varchar(255) not null
|
||
|
);
|
||
|
|
||
|
create table arsse_enclosures(
|
||
|
article bigint not null references arsse_articles(id) on delete cascade,
|
||
|
url varchar(255),
|
||
|
type varchar(255)
|
||
|
);
|
||
|
|
||
|
create table arsse_marks(
|
||
|
article bigint not null references arsse_articles(id) on delete cascade,
|
||
|
subscription bigint not null references arsse_subscriptions(id) on delete cascade on update cascade,
|
||
|
`read` boolean not null default 0,
|
||
|
starred boolean not null default 0,
|
||
|
modified datetime(0) not null default CURRENT_TIMESTAMP,
|
||
|
primary key(article,subscription)
|
||
|
);
|
||
|
|
||
|
create table arsse_editions(
|
||
|
id serial primary key,
|
||
|
article bigint not null references arsse_articles(id) on delete cascade,
|
||
|
modified datetime(0) not null default CURRENT_TIMESTAMP
|
||
|
);
|
||
|
|
||
|
create table arsse_categories(
|
||
|
article bigint not null references arsse_articles(id) on delete cascade,
|
||
|
name varchar(255)
|
||
|
);
|
||
|
|
||
|
insert into arsse_meta(`key`,value) values('schema_version','1');
|