2005-09-09 06:52:36 +02:00
drop table ttrss_tags ;
2005-11-19 09:03:54 +01:00
2005-11-19 06:10:00 +01:00
drop table ttrss_user_entries ;
2005-08-21 12:53:00 +02:00
drop table ttrss_entries ;
2005-11-19 09:03:54 +01:00
2005-08-21 12:53:00 +02:00
drop table ttrss_feeds ;
2005-11-17 18:34:58 +01:00
drop table ttrss_labels ;
drop table ttrss_filters ;
2005-08-21 12:53:00 +02:00
2005-11-17 14:06:03 +01:00
drop table ttrss_user_prefs ;
drop table ttrss_users ;
2005-11-18 07:49:00 +01:00
create table ttrss_users ( id serial not null primary key ,
2005-11-17 14:06:03 +01:00
login varchar ( 120 ) not null unique ,
pwd_hash varchar ( 250 ) not null ,
2005-11-18 10:11:56 +01:00
last_login timestamp default null ,
2005-11-17 14:06:03 +01:00
access_level integer not null default 0 ) ;
insert into ttrss_users ( login , pwd_hash , access_level ) values ( ' admin ' , ' password ' , 10 ) ;
2005-08-21 12:53:00 +02:00
create table ttrss_feeds ( id serial not null primary key ,
2005-11-17 14:06:03 +01:00
owner_uid integer not null references ttrss_users ( id ) on delete cascade ,
2005-11-17 19:04:18 +01:00
title varchar ( 200 ) not null ,
feed_url varchar ( 250 ) not null ,
2005-08-26 05:11:37 +02:00
icon_url varchar ( 250 ) not null default ' ' ,
2005-10-13 05:15:09 +02:00
update_interval integer not null default 0 ,
2005-11-16 08:24:43 +01:00
purge_interval integer not null default 0 ,
2005-11-01 08:47:03 +01:00
last_updated timestamp default null ,
2005-11-02 12:53:06 +01:00
last_error text not null default ' ' ,
site_url varchar ( 250 ) not null default ' ' ) ;
2005-08-21 12:53:00 +02:00
2005-11-19 09:03:54 +01:00
create index ttrss_feeds_owner_uid_index on ttrss_feeds ( owner_uid ) ;
2005-11-17 14:06:03 +01:00
insert into ttrss_feeds ( owner_uid , title , feed_url ) values ( 1 , ' Footnotes ' , ' http://gnomedesktop.org/node/feed ' ) ;
2005-11-18 09:58:17 +01:00
insert into ttrss_feeds ( owner_uid , title , feed_url ) values ( 1 , ' Latest Linux Kernel Versions ' , ' http://kernel.org/kdist/rss.xml ' ) ;
insert into ttrss_feeds ( owner_uid , title , feed_url ) values ( 1 , ' RPGDot Newsfeed ' ,
' http://www.rpgdot.com/team/rss/rss0.xml ' ) ;
insert into ttrss_feeds ( owner_uid , title , feed_url ) values ( 1 , ' Digg.com News ' ,
' http://digg.com/rss/index.xml ' ) ;
insert into ttrss_feeds ( owner_uid , title , feed_url ) values ( 1 , ' Technocrat.net ' ,
' http://syndication.technocrat.net/rss ' ) ;
2005-08-21 12:53:00 +02:00
create table ttrss_entries ( id serial not null primary key ,
2005-09-14 15:43:26 +02:00
title text not null ,
2005-11-19 06:10:00 +01:00
guid text not null unique ,
2005-09-14 15:52:21 +02:00
link text not null ,
2005-11-19 06:10:00 +01:00
updated timestamp not null ,
2005-08-21 15:46:43 +02:00
content text not null ,
2005-08-23 12:51:29 +02:00
content_hash varchar ( 250 ) not null ,
2005-08-23 07:46:48 +02:00
no_orig_date boolean not null default false ,
2005-11-19 06:10:00 +01:00
date_entered timestamp not null default NOW ( ) ,
2005-11-19 11:03:47 +01:00
comments varchar ( 250 ) not null default ' ' ) ;
create index ttrss_entries_guid_index on ttrss_entries ( guid ) ;
create index ttrss_entries_title_index on ttrss_entries ( title ) ;
2005-11-19 06:10:00 +01:00
create table ttrss_user_entries (
2005-11-19 09:18:34 +01:00
int_id serial not null primary key ,
2005-11-19 06:48:02 +01:00
ref_id integer not null references ttrss_entries ( id ) ON DELETE CASCADE ,
feed_id int references ttrss_feeds ( id ) ON DELETE CASCADE not null ,
2005-11-19 06:10:00 +01:00
owner_uid integer not null references ttrss_users ( id ) ON DELETE CASCADE ,
marked boolean not null default false ,
last_read timestamp ,
2005-08-23 07:46:48 +02:00
unread boolean not null default true ) ;
2005-09-03 09:22:29 +02:00
2005-11-19 09:03:54 +01:00
create index ttrss_user_entries_feed_id_index on ttrss_user_entries ( feed_id ) ;
create index ttrss_user_entries_owner_uid_index on ttrss_user_entries ( owner_uid ) ;
create index ttrss_user_entries_ref_id_index on ttrss_user_entries ( ref_id ) ;
2005-09-03 09:22:29 +02:00
drop table ttrss_filters ;
drop table ttrss_filter_types ;
2005-11-18 07:49:00 +01:00
create table ttrss_filter_types ( id integer not null primary key ,
2005-09-03 09:22:29 +02:00
name varchar ( 120 ) unique not null ,
description varchar ( 250 ) not null unique ) ;
insert into ttrss_filter_types ( id , name , description ) values ( 1 , ' title ' , ' Title ' ) ;
insert into ttrss_filter_types ( id , name , description ) values ( 2 , ' content ' , ' Content ' ) ;
insert into ttrss_filter_types ( id , name , description ) values ( 3 , ' both ' ,
2005-09-03 12:37:40 +02:00
' Title or Content ' ) ;
2005-11-21 08:38:28 +01:00
insert into ttrss_filter_types ( id , name , description ) values ( 4 , ' link ' ,
' Link ' ) ;
2005-09-03 09:22:29 +02:00
2005-11-21 14:11:16 +01:00
create table ttrss_filters ( id serial not null primary key ,
2005-11-17 14:06:03 +01:00
owner_uid integer not null references ttrss_users ( id ) on delete cascade ,
2005-11-21 15:04:46 +01:00
feed_id integer references ttrss_feeds ( id ) on delete cascade default null ,
2005-09-03 09:22:29 +02:00
filter_type integer not null references ttrss_filter_types ( id ) ,
2005-09-07 14:42:49 +02:00
reg_exp varchar ( 250 ) not null ,
2005-09-03 09:22:29 +02:00
description varchar ( 250 ) not null default ' ' ) ;
2005-09-08 09:43:44 +02:00
drop table ttrss_labels ;
2005-11-18 07:49:00 +01:00
create table ttrss_labels ( id serial not null primary key ,
2005-11-17 14:06:03 +01:00
owner_uid integer not null references ttrss_users ( id ) on delete cascade ,
2005-09-08 09:43:44 +02:00
sql_exp varchar ( 250 ) not null ,
description varchar ( 250 ) not null ) ;
2005-11-19 09:03:54 +01:00
create index ttrss_labels_owner_uid_index on ttrss_labels ( owner_uid ) ;
2005-11-17 18:34:58 +01:00
insert into ttrss_labels ( owner_uid , sql_exp , description ) values ( 1 , ' unread = true ' ,
2005-09-08 09:43:44 +02:00
' Unread articles ' ) ;
2005-11-17 18:34:58 +01:00
insert into ttrss_labels ( owner_uid , sql_exp , description ) values ( 1 ,
2005-10-20 18:18:15 +02:00
' last_read is null and unread = false ' , ' Updated articles ' ) ;
2005-11-18 07:49:00 +01:00
create table ttrss_tags ( id serial not null primary key ,
2005-09-09 06:52:36 +02:00
tag_name varchar ( 250 ) not null ,
2005-11-17 18:34:58 +01:00
owner_uid integer not null references ttrss_users ( id ) on delete cascade ,
2005-11-19 09:18:34 +01:00
post_int_id integer references ttrss_user_entries ( int_id ) ON DELETE CASCADE not null ) ;
2005-09-09 06:52:36 +02:00
2005-11-19 09:03:54 +01:00
create index ttrss_tags_owner_uid_index on ttrss_tags ( owner_uid ) ;
2005-11-10 05:34:36 +01:00
drop table ttrss_version ;
create table ttrss_version ( schema_version int not null ) ;
2005-11-16 08:24:43 +01:00
insert into ttrss_version values ( 2 ) ;
2005-11-10 05:34:36 +01:00
2005-11-16 17:48:29 +01:00
drop table ttrss_prefs ;
drop table ttrss_prefs_types ;
drop table ttrss_prefs_sections ;
2005-11-18 07:49:00 +01:00
create table ttrss_prefs_types ( id integer not null primary key ,
2005-11-16 17:48:29 +01:00
type_name varchar ( 100 ) not null ) ;
insert into ttrss_prefs_types ( id , type_name ) values ( 1 , ' bool ' ) ;
insert into ttrss_prefs_types ( id , type_name ) values ( 2 , ' string ' ) ;
insert into ttrss_prefs_types ( id , type_name ) values ( 3 , ' integer ' ) ;
2005-11-18 07:49:00 +01:00
create table ttrss_prefs_sections ( id integer not null primary key ,
2005-11-16 17:48:29 +01:00
section_name varchar ( 100 ) not null ) ;
2005-11-17 05:41:26 +01:00
insert into ttrss_prefs_sections ( id , section_name ) values ( 1 , ' General ' ) ;
insert into ttrss_prefs_sections ( id , section_name ) values ( 2 , ' Interface ' ) ;
2005-11-17 11:24:34 +01:00
insert into ttrss_prefs_sections ( id , section_name ) values ( 3 , ' Advanced ' ) ;
2005-11-16 17:48:29 +01:00
2005-11-18 07:49:00 +01:00
create table ttrss_prefs ( pref_name varchar ( 250 ) not null primary key ,
2005-11-16 17:48:29 +01:00
type_id integer not null references ttrss_prefs_types ( id ) ,
section_id integer not null references ttrss_prefs_sections ( id ) default 1 ,
2005-11-17 05:41:26 +01:00
short_desc text not null ,
help_text text not null default ' ' ,
2005-11-18 06:17:17 +01:00
def_value text not null ) ;
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' ENABLE_FEED_ICONS ' , 1 , ' true ' , ' Enable icons in feedlist ' , 2 ) ;
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' PURGE_OLD_DAYS ' , 3 , ' 60 ' , ' Purge old posts after this number of days (0 - disables) ' , 1 ) ;
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' UPDATE_POST_ON_CHECKSUM_CHANGE ' , 1 , ' true ' , ' Update post on checksum change ' , 1 ) ;
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' ENABLE_PREFS_CATCHUP_UNCATCHUP ' , 1 , ' false ' , ' Enable catchup/uncatchup buttons in feed editor ' , 2 ) ;
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id , help_text ) values ( ' ENABLE_LABELS ' , 1 , ' false ' , ' Enable labels ' , 3 ,
2005-11-17 08:10:03 +01:00
' Experimental support for virtual feeds based on user crafted SQL queries. This feature is highly experimental and at this point not user friendly. Use with caution. ' ) ;
2005-11-18 06:17:17 +01:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' DEFAULT_UPDATE_INTERVAL ' , 3 , ' 30 ' , ' Default interval between feed updates (in minutes) ' , 1 ) ;
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' DISPLAY_HEADER ' , 1 , ' true ' , ' Display header ' , 2 ) ;
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' DISPLAY_FOOTER ' , 1 , ' true ' , ' Display footer ' , 2 ) ;
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' USE_COMPACT_STYLESHEET ' , 1 , ' false ' , ' Use compact stylesheet by default ' , 2 ) ;
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id , help_text ) values ( ' DEFAULT_ARTICLE_LIMIT ' , 3 , ' 0 ' , ' Default article limit ' , 2 ,
2005-11-17 08:10:03 +01:00
' Default limit for articles to display, any custom number you like (0 - disables). ' ) ;
2005-11-18 06:17:17 +01:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id , help_text ) values ( ' DAEMON_REFRESH_ONLY ' , 1 , ' false ' , ' Daemon refresh only ' , 3 ,
2005-11-17 08:10:03 +01:00
' Updates to all feeds will only run when the backend script is invoked with a "daemon" option on the URI stem. ' ) ;
2005-11-18 06:17:17 +01:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id , help_text ) values ( ' DISPLAY_FEEDLIST_ACTIONS ' , 1 , ' false ' , ' Display feedlist actions ' , 2 ,
2005-11-17 08:10:03 +01:00
' Display separate dropbox for feedlist actions, if disabled these actions are available in global actions menu. ' ) ;
2005-11-18 06:17:17 +01:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' ENABLE_SPLASH ' , 1 , ' false ' , ' Enable loading splashscreen ' , 2 ) ;
2005-11-16 17:48:29 +01:00
2005-11-19 11:32:59 +01:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id , help_text ) values ( ' ALLOW_DUPLICATE_POSTS ' , 1 , ' true ' , ' Allow duplicate posts ' , 1 ,
' This option is useful when you are reading several planet-type aggregators with partially colliding userbase.
2005-11-20 08:45:44 +01:00
When disabled , it forces same posts from different feeds to appear only once . ' );
2005-11-19 11:32:59 +01:00
2005-11-17 14:06:03 +01:00
create table ttrss_user_prefs (
owner_uid integer not null references ttrss_users ( id ) on delete cascade ,
pref_name varchar ( 250 ) not null references ttrss_prefs ( pref_name ) ,
value text not null ) ;
2005-11-19 09:03:54 +01:00
create index ttrss_user_prefs_owner_uid_index on ttrss_user_prefs ( owner_uid ) ;
create index ttrss_user_prefs_value_index on ttrss_user_prefs ( value ) ;
2005-11-17 14:06:03 +01:00