aboutsummaryrefslogtreecommitdiffhomepage
path: root/sql/sql.go
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <fred@miniflux.net>2017-11-19 21:10:04 -0800
committerGravatar Frédéric Guillot <fred@miniflux.net>2017-11-19 22:01:46 -0800
commit8ffb773f43c8dc54801ca1d111854e7e881c93c9 (patch)
tree38133a2fc612597a75fed1d13e5b4042f58a2b7e /sql/sql.go
First commit
Diffstat (limited to 'sql/sql.go')
-rw-r--r--sql/sql.go115
1 files changed, 115 insertions, 0 deletions
diff --git a/sql/sql.go b/sql/sql.go
new file mode 100644
index 0000000..6998b1b
--- /dev/null
+++ b/sql/sql.go
@@ -0,0 +1,115 @@
+// Code generated by go generate; DO NOT EDIT.
+// 2017-11-19 22:01:21.921648993 -0800 PST m=+0.002482136
+
+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
+);
+`,
+}
+
+var SqlMapChecksums = map[string]string{
+ "schema_version_1": "cb85ca7dd97a6e1348e00b65ea004253a7165bed9a772746613276e47ef93213",
+}