2005-11-23 12:51:50 +00:00
drop table ttrss_version ;
drop table ttrss_labels ;
drop table ttrss_filters ;
drop table ttrss_filter_types ;
2005-11-29 18:30:08 +00:00
drop table ttrss_filter_actions ;
2005-11-23 12:51:50 +00:00
drop table ttrss_user_prefs ;
drop table ttrss_prefs ;
drop table ttrss_prefs_types ;
drop table ttrss_prefs_sections ;
2005-09-09 04:52:36 +00:00
drop table ttrss_tags ;
2005-11-20 18:06:06 +00:00
drop table ttrss_entry_comments ;
2005-11-23 12:51:50 +00:00
drop table ttrss_user_entries ;
2005-08-21 10:53:00 +00:00
drop table ttrss_entries ;
2006-02-17 06:59:25 +00:00
drop table ttrss_scheduled_updates ;
2005-08-21 10:53:00 +00:00
drop table ttrss_feeds ;
2005-11-23 05:15:53 +00:00
drop table ttrss_feed_categories ;
2005-11-17 13:06:03 +00:00
drop table ttrss_users ;
2005-11-25 12:37:42 +00:00
drop table ttrss_themes ;
2006-03-02 08:10:43 +00:00
drop table ttrss_sessions ;
2005-11-25 12:37:42 +00:00
2005-12-16 05:48:45 +00:00
begin ;
2005-11-25 12:37:42 +00:00
create table ttrss_themes ( id serial not null primary key ,
theme_name varchar ( 200 ) not null ,
theme_path varchar ( 200 ) not null ) ;
2005-11-17 13:06:03 +00:00
2006-05-17 13:12:11 +00:00
insert into ttrss_themes ( theme_name , theme_path ) values ( ' Old-skool ' , ' compat ' ) ;
2006-10-01 10:57:50 +00:00
insert into ttrss_themes ( theme_name , theme_path ) values ( ' Graycube ' , ' graycube ' ) ;
insert into ttrss_themes ( theme_name , theme_path ) values ( ' Default (Compact) ' , ' compact ' ) ;
2006-05-17 13:12:11 +00:00
2005-11-18 06:49:00 +00:00
create table ttrss_users ( id serial not null primary key ,
2005-11-17 13:06:03 +00:00
login varchar ( 120 ) not null unique ,
pwd_hash varchar ( 250 ) not null ,
2005-11-18 09:11:56 +00:00
last_login timestamp default null ,
2005-11-29 18:30:08 +00:00
access_level integer not null default 0 ,
2005-12-20 06:23:33 +00:00
email varchar ( 250 ) not null default ' ' ,
2006-08-20 10:54:53 +00:00
email_digest boolean not null default false ,
last_digest_sent timestamp default null ,
2005-11-25 12:37:42 +00:00
theme_id integer references ttrss_themes ( id ) default null ) ;
2005-11-17 13:06:03 +00:00
2006-03-07 11:25:44 +00:00
insert into ttrss_users ( login , pwd_hash , access_level ) values ( ' admin ' ,
' SHA1:5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8 ' , 10 ) ;
2005-11-17 13:06:03 +00:00
2005-11-23 05:15:53 +00:00
create table ttrss_feed_categories ( id serial not null primary key ,
2005-11-23 05:36:28 +00:00
owner_uid integer not null references ttrss_users ( id ) on delete cascade ,
2005-12-13 08:30:52 +00:00
collapsed boolean not null default false ,
2005-11-23 05:15:53 +00:00
title varchar ( 200 ) not null ) ;
2005-08-21 10:53:00 +00:00
create table ttrss_feeds ( id serial not null primary key ,
2005-11-17 13:06:03 +00:00
owner_uid integer not null references ttrss_users ( id ) on delete cascade ,
2005-11-17 18:04:18 +00:00
title varchar ( 200 ) not null ,
2005-11-23 05:15:53 +00:00
cat_id integer references ttrss_feed_categories ( id ) default null ,
2005-11-17 18:04:18 +00:00
feed_url varchar ( 250 ) not null ,
2005-08-26 03:11:37 +00:00
icon_url varchar ( 250 ) not null default ' ' ,
2005-10-13 03:15:09 +00:00
update_interval integer not null default 0 ,
2005-11-16 07:24:43 +00:00
purge_interval integer not null default 0 ,
2005-11-01 07:47:03 +00:00
last_updated timestamp default null ,
2005-11-02 11:53:06 +00:00
last_error text not null default ' ' ,
2005-12-16 05:45:04 +00:00
site_url varchar ( 250 ) not null default ' ' ,
auth_login varchar ( 250 ) not null default ' ' ,
2005-12-28 18:59:47 +00:00
parent_feed integer default null references ttrss_feeds ( id ) on delete set null ,
2005-12-30 03:05:01 +00:00
private boolean not null default false ,
2006-03-20 10:28:14 +00:00
auth_pass varchar ( 250 ) not null default ' ' ,
2006-08-13 11:43:48 +00:00
hidden boolean not null default false ,
2006-08-22 07:29:18 +00:00
include_in_digest boolean not null default true ,
2006-03-20 10:28:14 +00:00
rtl_content boolean not null default false ) ;
2005-08-21 10:53:00 +00:00
2005-11-19 08:03:54 +00:00
create index ttrss_feeds_owner_uid_index on ttrss_feeds ( owner_uid ) ;
2005-11-17 13:06:03 +00:00
insert into ttrss_feeds ( owner_uid , title , feed_url ) values ( 1 , ' Footnotes ' , ' http://gnomedesktop.org/node/feed ' ) ;
2005-11-18 08:58:17 +00: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 10:53:00 +00:00
create table ttrss_entries ( id serial not null primary key ,
2005-09-14 13:43:26 +00:00
title text not null ,
2005-11-19 05:10:00 +00:00
guid text not null unique ,
2005-09-14 13:52:21 +00:00
link text not null ,
2005-11-19 05:10:00 +00:00
updated timestamp not null ,
2005-08-21 13:46:43 +00:00
content text not null ,
2005-08-23 10:51:29 +00:00
content_hash varchar ( 250 ) not null ,
2005-08-23 05:46:48 +00:00
no_orig_date boolean not null default false ,
2005-11-19 05:10:00 +00:00
date_entered timestamp not null default NOW ( ) ,
2005-12-10 07:14:29 +00:00
num_comments integer not null default 0 ,
2006-02-26 06:39:09 +00:00
comments varchar ( 250 ) not null default ' ' ,
author varchar ( 250 ) not null default ' ' ) ;
2005-11-19 10:03:47 +00:00
create index ttrss_entries_guid_index on ttrss_entries ( guid ) ;
2006-03-21 07:09:18 +00:00
-- create index ttrss_entries_title_index on ttrss_entries(title);
-- create index ttrss_entries_date_entered_index on ttrss_entries(date_entered);
2005-11-19 05:10:00 +00:00
create table ttrss_user_entries (
2005-11-19 08:18:34 +00:00
int_id serial not null primary key ,
2005-11-19 05:48:02 +00: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 05:10:00 +00: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 05:46:48 +00:00
unread boolean not null default true ) ;
2005-09-03 07:22:29 +00:00
2006-03-21 07:09:18 +00: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);
2005-11-19 08:03:54 +00:00
create index ttrss_user_entries_ref_id_index on ttrss_user_entries ( ref_id ) ;
2006-03-21 07:09:18 +00:00
create index ttrss_user_entries_feed_id on ttrss_user_entries ( feed_id ) ;
2005-11-19 08:03:54 +00:00
2005-11-20 18:06:06 +00:00
create table ttrss_entry_comments ( id serial not null primary key ,
ref_id integer not null references ttrss_entries ( id ) ON DELETE CASCADE ,
owner_uid integer not null references ttrss_users ( id ) ON DELETE CASCADE ,
private boolean not null default false ,
date_entered timestamp not null ) ;
create index ttrss_entry_comments_ref_id_index on ttrss_entry_comments ( ref_id ) ;
2006-03-21 07:09:18 +00:00
-- create index ttrss_entry_comments_owner_uid_index on ttrss_entry_comments(owner_uid);
2005-11-20 18:06:06 +00:00
2005-11-18 06:49:00 +00:00
create table ttrss_filter_types ( id integer not null primary key ,
2005-09-03 07:22:29 +00: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 10:37:40 +00:00
' Title or Content ' ) ;
2005-11-21 07:38:28 +00:00
insert into ttrss_filter_types ( id , name , description ) values ( 4 , ' link ' ,
' Link ' ) ;
2005-09-03 07:22:29 +00:00
2005-11-29 18:30:08 +00:00
create table ttrss_filter_actions ( id integer not null primary key ,
name varchar ( 120 ) unique not null ,
description varchar ( 250 ) not null unique ) ;
insert into ttrss_filter_actions ( id , name , description ) values ( 1 , ' filter ' ,
' Filter article ' ) ;
insert into ttrss_filter_actions ( id , name , description ) values ( 2 , ' catchup ' ,
' Mark as read ' ) ;
2006-05-18 01:20:43 +00:00
insert into ttrss_filter_actions ( id , name , description ) values ( 3 , ' mark ' ,
' Set starred ' ) ;
2006-12-08 06:34:59 +00:00
insert into ttrss_filter_actions ( id , name , description ) values ( 4 , ' tag ' ,
2006-12-08 06:36:59 +00:00
' Assign tags ' ) ;
2006-12-08 06:34:59 +00:00
2005-11-21 13:11:16 +00:00
create table ttrss_filters ( id serial not null primary key ,
2005-11-17 13:06:03 +00:00
owner_uid integer not null references ttrss_users ( id ) on delete cascade ,
2005-11-21 14:04:46 +00:00
feed_id integer references ttrss_feeds ( id ) on delete cascade default null ,
2005-09-03 07:22:29 +00:00
filter_type integer not null references ttrss_filter_types ( id ) ,
2005-09-07 12:42:49 +00:00
reg_exp varchar ( 250 ) not null ,
2006-08-20 14:02:48 +00:00
enabled boolean not null default true ,
2006-12-08 06:31:49 +00:00
action_id integer not null default 1 references ttrss_filter_actions ( id ) on delete cascade ,
action_param varchar ( 200 ) not null default ' ' ) ;
2005-09-03 07:22:29 +00:00
2005-11-18 06:49:00 +00:00
create table ttrss_labels ( id serial not null primary key ,
2005-11-17 13:06:03 +00:00
owner_uid integer not null references ttrss_users ( id ) on delete cascade ,
2005-09-08 07:43:44 +00:00
sql_exp varchar ( 250 ) not null ,
description varchar ( 250 ) not null ) ;
2005-11-19 08:03:54 +00:00
create index ttrss_labels_owner_uid_index on ttrss_labels ( owner_uid ) ;
2005-11-17 17:34:58 +00:00
insert into ttrss_labels ( owner_uid , sql_exp , description ) values ( 1 , ' unread = true ' ,
2005-09-08 07:43:44 +00:00
' Unread articles ' ) ;
2005-11-17 17:34:58 +00:00
insert into ttrss_labels ( owner_uid , sql_exp , description ) values ( 1 ,
2005-10-20 16:18:15 +00:00
' last_read is null and unread = false ' , ' Updated articles ' ) ;
2005-11-18 06:49:00 +00:00
create table ttrss_tags ( id serial not null primary key ,
2005-09-09 04:52:36 +00:00
tag_name varchar ( 250 ) not null ,
2005-11-17 17:34:58 +00:00
owner_uid integer not null references ttrss_users ( id ) on delete cascade ,
2005-11-19 08:18:34 +00:00
post_int_id integer references ttrss_user_entries ( int_id ) ON DELETE CASCADE not null ) ;
2005-09-09 04:52:36 +00:00
2005-11-19 08:03:54 +00:00
create index ttrss_tags_owner_uid_index on ttrss_tags ( owner_uid ) ;
2005-11-10 04:34:36 +00:00
create table ttrss_version ( schema_version int not null ) ;
2006-12-08 06:31:49 +00:00
insert into ttrss_version values ( 12 ) ;
2005-11-10 04:34:36 +00:00
2005-11-18 06:49:00 +00:00
create table ttrss_prefs_types ( id integer not null primary key ,
2005-11-16 16:48:29 +00: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 06:49:00 +00:00
create table ttrss_prefs_sections ( id integer not null primary key ,
2005-11-16 16:48:29 +00:00
section_name varchar ( 100 ) not null ) ;
2005-11-17 04:41:26 +00: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 10:24:34 +00:00
insert into ttrss_prefs_sections ( id , section_name ) values ( 3 , ' Advanced ' ) ;
2005-11-16 16:48:29 +00:00
2005-11-18 06:49:00 +00:00
create table ttrss_prefs ( pref_name varchar ( 250 ) not null primary key ,
2005-11-16 16:48:29 +00: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 04:41:26 +00:00
short_desc text not null ,
help_text text not null default ' ' ,
2005-11-18 05:17:17 +00:00
def_value text not null ) ;
2006-07-31 08:02:16 +00:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' ENABLE_FEED_ICONS ' , 1 , ' true ' , ' Enable icons in feedlist ' , 3 ) ;
2005-11-18 05:17:17 +00:00
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 , help_text ) values ( ' ENABLE_LABELS ' , 1 , ' false ' , ' Enable labels ' , 3 ,
2005-11-17 07:10:03 +00: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 05:17:17 +00: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 , help_text ) values ( ' DEFAULT_ARTICLE_LIMIT ' , 3 , ' 0 ' , ' Default article limit ' , 2 ,
2005-11-17 07:10:03 +00:00
' Default limit for articles to display, any custom number you like (0 - disables). ' ) ;
2005-11-19 10:32:59 +00: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 07:45:44 +00:00
When disabled , it forces same posts from different feeds to appear only once . ' );
2005-11-19 10:32:59 +00:00
2005-11-22 06:44:19 +00:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id , help_text ) values ( ' USER_STYLESHEET_URL ' , 2 , ' ' , ' User stylesheet URL ' , 2 ,
' Link to user stylesheet to override default style, disabled if empty. ' ) ;
2005-11-23 07:07:04 +00:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' ENABLE_FEED_CATS ' , 1 , ' false ' , ' Enable feed categories ' , 2 ) ;
2005-11-23 05:57:08 +00:00
2005-11-27 15:17:49 +00:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' SHOW_CONTENT_PREVIEW ' , 1 , ' true ' , ' Show content preview in headlines list ' , 2 ) ;
2005-11-27 19:57:59 +00:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' SHORT_DATE_FORMAT ' , 2 , ' M d, G:i ' , ' Short date format ' , 3 ) ;
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' LONG_DATE_FORMAT ' , 2 , ' D, M d Y - G:i ' , ' Long date format ' , 3 ) ;
2005-11-28 07:43:03 +00:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' HEADLINES_SMART_DATE ' , 1 , ' true ' , ' Use more accessible date/time format for headlines ' , 3 ) ;
2005-12-13 05:58:22 +00:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id , help_text ) values ( ' COMBINED_DISPLAY_MODE ' , 1 , ' false ' , ' Combined feed display ' , 2 ,
' Display expanded list of feed articles, instead of separate displays for headlines and article content ' ) ;
2005-12-13 05:52:32 +00:00
2006-01-05 15:12:40 +00:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' HIDE_READ_FEEDS ' , 1 , ' false ' , ' Hide feeds with no unread messages ' , 2 ) ;
2006-03-06 04:45:54 +00:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' OPEN_LINKS_IN_NEW_WINDOW ' , 1 , ' true ' , ' Open article links in new browser window ' , 2 ) ;
2006-05-17 13:12:11 +00:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id , help_text ) values ( ' ON_CATCHUP_SHOW_NEXT_FEED ' , 1 , ' false ' , ' On catchup show next feed ' , 2 ,
' When "Mark as read" button is clicked in toolbar, automatically open next feed with unread articles. ' ) ;
2006-06-05 08:33:19 +00:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' FEEDS_SORT_BY_UNREAD ' , 1 , ' false ' , ' Sort feeds by unread articles count ' , 2 ) ;
2006-07-31 08:02:16 +00:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' EXTENDED_FEEDLIST ' , 1 , ' false ' , ' Show additional information in feedlist ' , 3 ) ;
2006-06-06 06:51:00 +00:00
2006-07-25 08:11:13 +00:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' MARK_UNREAD_ON_UPDATE ' , 1 , ' false ' , ' Set articles as unread on update ' , 3 ) ;
2006-08-01 04:52:32 +00:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' REVERSE_HEADLINES ' , 1 , ' false ' , ' Reverse headline order (oldest first) ' , 2 ) ;
2006-08-21 06:47:20 +00:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id , help_text ) values ( ' DIGEST_ENABLE ' , 1 , ' false ' , ' Enable e-mail digest ' , 1 ,
2006-08-21 06:12:09 +00:00
' This option enables sending daily digest of new (and unread) headlines on your configured e-mail address ' ) ;
2006-08-28 04:03:26 +00:00
insert into ttrss_prefs ( pref_name , type_id , def_value , short_desc , section_id ) values ( ' CONFIRM_FEED_CATCHUP ' , 1 , ' true ' , ' Confirm marking feed as read ' , 3 ) ;
2005-11-17 13:06:03 +00:00
create table ttrss_user_prefs (
2005-11-26 12:36:22 +00:00
owner_uid integer not null references ttrss_users ( id ) ON DELETE CASCADE ,
pref_name varchar ( 250 ) not null references ttrss_prefs ( pref_name ) ON DELETE CASCADE ,
2005-11-17 13:06:03 +00:00
value text not null ) ;
2005-11-19 08:03:54 +00:00
create index ttrss_user_prefs_owner_uid_index on ttrss_user_prefs ( owner_uid ) ;
2006-03-21 07:09:18 +00:00
-- create index ttrss_user_prefs_value_index on ttrss_user_prefs(value);
2005-11-19 08:03:54 +00:00
2006-02-11 13:52:17 +00:00
create table ttrss_scheduled_updates ( id serial not null primary key ,
owner_uid integer not null references ttrss_users ( id ) ON DELETE CASCADE ,
feed_id integer default null references ttrss_feeds ( id ) ON DELETE CASCADE ,
entered timestamp not null default NOW ( ) ) ;
2006-03-02 12:15:28 +00:00
create table ttrss_sessions ( id varchar ( 250 ) unique not null primary key ,
2006-03-02 08:32:44 +00:00
data text ,
2006-03-27 16:23:50 +00:00
expire integer not null ) ;
2006-03-02 08:10:43 +00:00
create index ttrss_sessions_expire_index on ttrss_sessions ( expire ) ;
2005-12-16 05:48:45 +00:00
commit ;