127 lines
3.6 KiB
Go
127 lines
3.6 KiB
Go
// Code generated by go generate; DO NOT EDIT.
|
|
// 2017-12-01 21:46:13.639273113 -0800 PST m=+0.002204900
|
|
|
|
package sql
|
|
|
|
var SqlMap = map[string]string{
|
|
"schema_version_1": `create table schema_version (
|
|
version text not null
|
|
);
|
|
|
|
create table users (
|
|
id serial not null,
|
|
username text not null unique,
|
|
password text,
|
|
is_admin bool default 'f',
|
|
language text default 'en_US',
|
|
timezone text default 'UTC',
|
|
theme text default 'default',
|
|
last_login_at timestamp with time zone,
|
|
primary key (id)
|
|
);
|
|
|
|
create table sessions (
|
|
id serial not null,
|
|
user_id int not null,
|
|
token text not null unique,
|
|
created_at timestamp with time zone default now(),
|
|
user_agent text,
|
|
ip text,
|
|
primary key (id),
|
|
unique (user_id, token),
|
|
foreign key (user_id) references users(id) on delete cascade
|
|
);
|
|
|
|
create table categories (
|
|
id serial not null,
|
|
user_id int not null,
|
|
title text not null,
|
|
primary key (id),
|
|
unique (user_id, title),
|
|
foreign key (user_id) references users(id) on delete cascade
|
|
);
|
|
|
|
create table feeds (
|
|
id bigserial not null,
|
|
user_id int not null,
|
|
category_id int not null,
|
|
title text not null,
|
|
feed_url text not null,
|
|
site_url text not null,
|
|
checked_at timestamp with time zone default now(),
|
|
etag_header text,
|
|
last_modified_header text,
|
|
parsing_error_msg text default '',
|
|
parsing_error_count int default 0,
|
|
primary key (id),
|
|
unique (user_id, feed_url),
|
|
foreign key (user_id) references users(id) on delete cascade,
|
|
foreign key (category_id) references categories(id) on delete cascade
|
|
);
|
|
|
|
create type entry_status as enum ('unread', 'read', 'removed');
|
|
|
|
create table entries (
|
|
id bigserial not null,
|
|
user_id int not null,
|
|
feed_id bigint not null,
|
|
hash text not null,
|
|
published_at timestamp with time zone not null,
|
|
title text not null,
|
|
url text not null,
|
|
author text,
|
|
content text,
|
|
status entry_status default 'unread',
|
|
primary key (id),
|
|
unique (feed_id, hash),
|
|
foreign key (user_id) references users(id) on delete cascade,
|
|
foreign key (feed_id) references feeds(id) on delete cascade
|
|
);
|
|
|
|
create index entries_feed_idx on entries using btree(feed_id);
|
|
|
|
create table enclosures (
|
|
id bigserial not null,
|
|
user_id int not null,
|
|
entry_id bigint not null,
|
|
url text not null,
|
|
size int default 0,
|
|
mime_type text default '',
|
|
primary key (id),
|
|
foreign key (user_id) references users(id) on delete cascade,
|
|
foreign key (entry_id) references entries(id) on delete cascade
|
|
);
|
|
|
|
create table icons (
|
|
id bigserial not null,
|
|
hash text not null unique,
|
|
mime_type text not null,
|
|
content bytea not null,
|
|
primary key (id)
|
|
);
|
|
|
|
create table feed_icons (
|
|
feed_id bigint not null,
|
|
icon_id bigint not null,
|
|
primary key(feed_id, icon_id),
|
|
foreign key (feed_id) references feeds(id) on delete cascade,
|
|
foreign key (icon_id) references icons(id) on delete cascade
|
|
);
|
|
`,
|
|
"schema_version_2": `create extension if not exists hstore;
|
|
alter table users add column extra hstore;
|
|
create index users_extra_idx on users using gin(extra);
|
|
`,
|
|
"schema_version_3": `create table tokens (
|
|
id text not null,
|
|
value text not null,
|
|
created_at timestamp with time zone not null default now(),
|
|
primary key(id, value)
|
|
);`,
|
|
}
|
|
|
|
var SqlMapChecksums = map[string]string{
|
|
"schema_version_1": "cb85ca7dd97a6e1348e00b65ea004253a7165bed9a772746613276e47ef93213",
|
|
"schema_version_2": "e8e9ff32478df04fcddad10a34cba2e8bb1e67e7977b5bd6cdc4c31ec94282b4",
|
|
"schema_version_3": "a54745dbc1c51c000f74d4e5068f1e2f43e83309f023415b1749a47d5c1e0f12",
|
|
}
|