diff options
author | Andrew Dolgov <[email protected]> | 2012-08-30 18:50:56 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2012-08-31 12:13:47 +0400 |
commit | 6aff7845751e1671f436da6686209b414fdcfcc4 (patch) | |
tree | 412bfad8bdb8d23eebb84ff96ba6077e901f6d8b /schema | |
parent | f9ebb32ca0a84ec5553d0494cdfc628753fcb36a (diff) |
implement multiple rule/action filters
Diffstat (limited to 'schema')
-rw-r--r-- | schema/ttrss_schema_mysql.sql | 37 | ||||
-rw-r--r-- | schema/ttrss_schema_pgsql.sql | 23 | ||||
-rw-r--r-- | schema/versions/mysql/96.sql | 38 | ||||
-rw-r--r-- | schema/versions/pgsql/96.sql | 23 |
4 files changed, 119 insertions, 2 deletions
diff --git a/schema/ttrss_schema_mysql.sql b/schema/ttrss_schema_mysql.sql index e5109de27..9a160f2aa 100644 --- a/schema/ttrss_schema_mysql.sql +++ b/schema/ttrss_schema_mysql.sql @@ -9,6 +9,9 @@ drop table if exists ttrss_labels2; drop table if exists ttrss_feedbrowser_cache; drop table if exists ttrss_version; drop table if exists ttrss_labels; +drop table if exists ttrss_filters2_actions; +drop table if exists ttrss_filters2_rules; +drop table if exists ttrss_filters2; drop table if exists ttrss_filters; drop table if exists ttrss_filter_types; drop table if exists ttrss_filter_actions; @@ -259,6 +262,38 @@ create table ttrss_filters (id integer not null primary key auto_increment, index (action_id), foreign key (action_id) references ttrss_filter_actions(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; +create table ttrss_filters2(id integer primary key auto_increment, + owner_uid integer not null, + match_any_rule boolean not null default false, + enabled boolean not null default true, + index(owner_uid), + foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; + +create table ttrss_filters2_rules(id integer primary key auto_increment, + filter_id integer not null references ttrss_filters2(id) on delete cascade, + reg_exp varchar(250) not null, + filter_type integer not null, + feed_id integer default null, + cat_id integer default null, + cat_filter boolean not null default false, + index (filter_id), + foreign key (filter_id) references ttrss_filters2(id) on delete cascade, + index (filter_type), + foreign key (filter_type) references ttrss_filter_types(id) ON DELETE CASCADE, + index (feed_id), + foreign key (feed_id) references ttrss_feeds(id) ON DELETE CASCADE, + index (cat_id), + foreign key (cat_id) references ttrss_feed_categories(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; + +create table ttrss_filters2_actions(id integer primary key auto_increment, + filter_id integer not null, + action_id integer not null default 1 references ttrss_filter_actions(id) on delete cascade, + action_param varchar(250) not null default '', + index (filter_id), + foreign key (filter_id) references ttrss_filters2(id) on delete cascade, + index (action_id), + foreign key (action_id) references ttrss_filter_actions(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; + create table ttrss_tags (id integer primary key auto_increment, owner_uid integer not null, tag_name varchar(250) not null, @@ -270,7 +305,7 @@ create table ttrss_tags (id integer primary key auto_increment, create table ttrss_version (schema_version int not null) ENGINE=InnoDB DEFAULT CHARSET=UTF8; -insert into ttrss_version values (95); +insert into ttrss_version values (96); create table ttrss_enclosures (id integer primary key auto_increment, content_url text not null, diff --git a/schema/ttrss_schema_pgsql.sql b/schema/ttrss_schema_pgsql.sql index 778e2111a..600714e6e 100644 --- a/schema/ttrss_schema_pgsql.sql +++ b/schema/ttrss_schema_pgsql.sql @@ -6,6 +6,9 @@ drop table if exists ttrss_labels2; drop table if exists ttrss_feedbrowser_cache; drop table if exists ttrss_version; drop table if exists ttrss_labels; +drop table if exists ttrss_filters2_rules; +drop table if exists ttrss_filters2_actions; +drop table if exists ttrss_filters2; drop table if exists ttrss_filters; drop table if exists ttrss_filter_types; drop table if exists ttrss_filter_actions; @@ -222,6 +225,24 @@ create table ttrss_filters (id serial not null primary key, action_id integer not null default 1 references ttrss_filter_actions(id) on delete cascade, action_param varchar(250) not null default ''); +create table ttrss_filters2(id serial not null primary key, + owner_uid integer not null references ttrss_users(id) on delete cascade, + match_any_rule boolean not null default false, + enabled boolean not null default true); + +create table ttrss_filters2_rules(id serial not null primary key, + filter_id integer not null references ttrss_filters2(id) on delete cascade, + reg_exp varchar(250) not null, + filter_type integer not null references ttrss_filter_types(id), + feed_id integer references ttrss_feeds(id) on delete cascade default null, + cat_id integer references ttrss_feed_categories(id) on delete cascade default null, + cat_filter boolean not null default false); + +create table ttrss_filters2_actions(id serial not null primary key, + filter_id integer not null references ttrss_filters2(id) on delete cascade, + action_id integer not null default 1 references ttrss_filter_actions(id) on delete cascade, + action_param varchar(250) not null default ''); + create table ttrss_tags (id serial not null primary key, tag_name varchar(250) not null, owner_uid integer not null references ttrss_users(id) on delete cascade, @@ -232,7 +253,7 @@ create index ttrss_tags_post_int_id_idx on ttrss_tags(post_int_id); create table ttrss_version (schema_version int not null); -insert into ttrss_version values (95); +insert into ttrss_version values (96); create table ttrss_enclosures (id serial not null primary key, content_url text not null, diff --git a/schema/versions/mysql/96.sql b/schema/versions/mysql/96.sql new file mode 100644 index 000000000..4d4e2445c --- /dev/null +++ b/schema/versions/mysql/96.sql @@ -0,0 +1,38 @@ +begin; + +create table ttrss_filters2(id integer primary key auto_increment, + owner_uid integer not null, + match_any_rule boolean not null default false, + enabled boolean not null default true, + index(owner_uid), + foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; + +create table ttrss_filters2_rules(id integer primary key auto_increment, + filter_id integer not null references ttrss_filters2(id) on delete cascade, + reg_exp varchar(250) not null, + filter_type integer not null, + feed_id integer default null, + cat_id integer default null, + cat_filter boolean not null default false, + index (filter_id), + foreign key (filter_id) references ttrss_filters2(id) on delete cascade, + index (filter_type), + foreign key (filter_type) references ttrss_filter_types(id) ON DELETE CASCADE, + index (feed_id), + foreign key (feed_id) references ttrss_feeds(id) ON DELETE CASCADE, + index (cat_id), + foreign key (cat_id) references ttrss_feed_categories(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; + +create table ttrss_filters2_actions(id integer primary key auto_increment, + filter_id integer not null, + action_id integer not null default 1 references ttrss_filter_actions(id) on delete cascade, + action_param varchar(250) not null default '', + index (filter_id), + foreign key (filter_id) references ttrss_filters2(id) on delete cascade, + index (action_id), + foreign key (action_id) references ttrss_filter_actions(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; + +update ttrss_version set schema_version = 96; + +commit; + diff --git a/schema/versions/pgsql/96.sql b/schema/versions/pgsql/96.sql new file mode 100644 index 000000000..86895e5e0 --- /dev/null +++ b/schema/versions/pgsql/96.sql @@ -0,0 +1,23 @@ +begin; + +create table ttrss_filters2(id serial not null primary key, + owner_uid integer not null references ttrss_users(id) on delete cascade, + match_any_rule boolean not null default false, + enabled boolean not null default true); + +create table ttrss_filters2_rules(id serial not null primary key, + filter_id integer not null references ttrss_filters2(id) on delete cascade, + reg_exp varchar(250) not null, + filter_type integer not null references ttrss_filter_types(id), + feed_id integer references ttrss_feeds(id) on delete cascade default null, + cat_id integer references ttrss_feed_categories(id) on delete cascade default null, + cat_filter boolean not null default false); + +create table ttrss_filters2_actions(id serial not null primary key, + filter_id integer not null references ttrss_filters2(id) on delete cascade, + action_id integer not null default 1 references ttrss_filter_actions(id) on delete cascade, + action_param varchar(250) not null default ''); + +update ttrss_version set schema_version = 95; + +commit; |