]> git.wh0rd.org - tt-rss.git/blob - schema/ttrss_schema_mysql.sql
540f172515085e4bf6db1a257107e50db327a6de
[tt-rss.git] / schema / ttrss_schema_mysql.sql
1 SET NAMES utf8;
2 SET CHARACTER SET utf8;
3
4 drop table if exists ttrss_error_log;
5 drop table if exists ttrss_plugin_storage;
6 drop table if exists ttrss_linked_feeds;
7 drop table if exists ttrss_linked_instances;
8 drop table if exists ttrss_access_keys;
9 drop table if exists ttrss_user_labels2;
10 drop table if exists ttrss_labels2;
11 drop table if exists ttrss_feedbrowser_cache;
12 drop table if exists ttrss_version;
13 drop table if exists ttrss_labels;
14 drop table if exists ttrss_filters2_actions;
15 drop table if exists ttrss_filters2_rules;
16 drop table if exists ttrss_filters2;
17 drop table if exists ttrss_filters;
18 drop table if exists ttrss_filter_types;
19 drop table if exists ttrss_filter_actions;
20 drop table if exists ttrss_user_prefs;
21 drop table if exists ttrss_prefs;
22 drop table if exists ttrss_prefs_types;
23 drop table if exists ttrss_prefs_sections;
24 drop table if exists ttrss_tags;
25 drop table if exists ttrss_enclosures;
26 drop table if exists ttrss_settings_profiles;
27 drop table if exists ttrss_entry_comments;
28 drop table if exists ttrss_user_entries;
29 drop table if exists ttrss_entries;
30 drop table if exists ttrss_scheduled_updates;
31 drop table if exists ttrss_counters_cache;
32 drop table if exists ttrss_cat_counters_cache;
33 drop table if exists ttrss_feeds;
34 drop table if exists ttrss_archived_feeds;
35 drop table if exists ttrss_feed_categories;
36 drop table if exists ttrss_users;
37 drop table if exists ttrss_themes;
38 drop table if exists ttrss_sessions;
39
40 begin;
41
42 create table ttrss_users (id integer primary key not null auto_increment,
43 login varchar(120) not null unique,
44 pwd_hash varchar(250) not null,
45 last_login datetime default null,
46 access_level integer not null default 0,
47 email varchar(250) not null default '',
48 full_name varchar(250) not null default '',
49 email_digest bool not null default false,
50 last_digest_sent datetime default null,
51 salt varchar(250) not null default '',
52 created datetime default null,
53 twitter_oauth longtext default null,
54 otp_enabled boolean not null default false,
55 resetpass_token varchar(250) default null) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
56
57 insert into ttrss_users (login,pwd_hash,access_level) values ('admin',
58 'SHA1:5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8', 10);
59
60 create table ttrss_feed_categories(id integer not null primary key auto_increment,
61 owner_uid integer not null,
62 title varchar(200) not null,
63 collapsed bool not null default false,
64 order_id integer not null default 0,
65 parent_cat integer,
66 view_settings varchar(250) not null default '',
67 foreign key (parent_cat) references ttrss_feed_categories(id) ON DELETE SET NULL,
68 foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
69
70 create table ttrss_archived_feeds (id integer not null primary key,
71 owner_uid integer not null,
72 title varchar(200) not null,
73 feed_url text not null,
74 site_url varchar(250) not null default '',
75 foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
76
77 create table ttrss_counters_cache (
78 feed_id integer not null,
79 owner_uid integer not null,
80 value integer not null default 0,
81 updated datetime not null,
82 foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE
83 ) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
84
85 create index ttrss_counters_cache_feed_id_idx on ttrss_counters_cache(feed_id);
86 create index ttrss_counters_cache_value_idx on ttrss_counters_cache(value);
87
88 create table ttrss_cat_counters_cache (
89 feed_id integer not null,
90 owner_uid integer not null,
91 value integer not null default 0,
92 updated datetime not null,
93 foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE
94 ) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
95
96 create table ttrss_feeds (id integer not null auto_increment primary key,
97 owner_uid integer not null,
98 title varchar(200) not null,
99 cat_id integer default null,
100 feed_url text not null,
101 icon_url varchar(250) not null default '',
102 update_interval integer not null default 0,
103 purge_interval integer not null default 0,
104 last_updated datetime default 0,
105 last_error varchar(250) not null default '',
106 favicon_avg_color varchar(11) default null,
107 site_url varchar(250) not null default '',
108 auth_login varchar(250) not null default '',
109 auth_pass varchar(250) not null default '',
110 parent_feed integer default null,
111 private bool not null default false,
112 rtl_content bool not null default false,
113 hidden bool not null default false,
114 include_in_digest boolean not null default true,
115 cache_images boolean not null default false,
116 hide_images boolean not null default false,
117 cache_content boolean not null default false,
118 auth_pass_encrypted boolean not null default false,
119 last_viewed datetime default null,
120 last_update_started datetime default null,
121 always_display_enclosures boolean not null default false,
122 update_method integer not null default 0,
123 order_id integer not null default 0,
124 mark_unread_on_update boolean not null default false,
125 update_on_checksum_change boolean not null default false,
126 strip_images boolean not null default false,
127 view_settings varchar(250) not null default '',
128 pubsub_state integer not null default 0,
129 favicon_last_checked datetime default null,
130 foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE,
131 foreign key (cat_id) references ttrss_feed_categories(id) ON DELETE SET NULL,
132 foreign key (parent_feed) references ttrss_feeds(id) ON DELETE SET NULL) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
133
134 insert into ttrss_feeds (owner_uid, title, feed_url) values
135 (1, 'Tiny Tiny RSS: New Releases', 'http://tt-rss.org/releases.rss');
136
137 insert into ttrss_feeds (owner_uid, title, feed_url) values
138 (1, 'Tiny Tiny RSS: Forum', 'http://tt-rss.org/forum/rss.php');
139
140 create table ttrss_entries (id integer not null primary key auto_increment,
141 title text not null,
142 guid varchar(255) not null unique,
143 link text not null,
144 updated datetime not null,
145 content longtext not null,
146 content_hash varchar(250) not null,
147 cached_content longtext,
148 no_orig_date bool not null default 0,
149 date_entered datetime not null,
150 date_updated datetime not null,
151 num_comments integer not null default 0,
152 plugin_data longtext,
153 lang varchar(2),
154 comments varchar(250) not null default '',
155 author varchar(250) not null default '') ENGINE=InnoDB DEFAULT CHARSET=UTF8;
156
157 create index ttrss_entries_date_entered_index on ttrss_entries(date_entered);
158 create index ttrss_entries_updated_idx on ttrss_entries(updated);
159
160 create table ttrss_user_entries (
161 int_id integer not null primary key auto_increment,
162 ref_id integer not null,
163 uuid varchar(200) not null,
164 feed_id int,
165 orig_feed_id int,
166 owner_uid integer not null,
167 marked bool not null default 0,
168 published bool not null default 0,
169 tag_cache text not null,
170 label_cache text not null,
171 last_read datetime,
172 score int not null default 0,
173 note longtext,
174 last_marked datetime,
175 last_published datetime,
176 unread bool not null default 1,
177 foreign key (ref_id) references ttrss_entries(id) ON DELETE CASCADE,
178 foreign key (feed_id) references ttrss_feeds(id) ON DELETE CASCADE,
179 foreign key (orig_feed_id) references ttrss_archived_feeds(id) ON DELETE SET NULL,
180 foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
181
182 create index ttrss_user_entries_unread_idx on ttrss_user_entries(unread);
183
184 create table ttrss_entry_comments (id integer not null primary key,
185 ref_id integer not null,
186 owner_uid integer not null,
187 private bool not null default 0,
188 date_entered datetime not null,
189 index (ref_id),
190 foreign key (ref_id) references ttrss_entries(id) ON DELETE CASCADE,
191 index (owner_uid),
192 foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
193
194 create table ttrss_filter_types (id integer primary key,
195 name varchar(120) unique not null,
196 description varchar(250) not null unique) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
197
198 insert into ttrss_filter_types (id,name,description) values (1, 'title', 'Title');
199 insert into ttrss_filter_types (id,name,description) values (2, 'content', 'Content');
200 insert into ttrss_filter_types (id,name,description) values (3, 'both',
201 'Title or Content');
202 insert into ttrss_filter_types (id,name,description) values (4, 'link',
203 'Link');
204 insert into ttrss_filter_types (id,name,description) values (5, 'date',
205 'Article Date');
206 insert into ttrss_filter_types (id,name,description) values (6, 'author', 'Author');
207 insert into ttrss_filter_types (id,name,description) values (7, 'tag', 'Article Tags');
208
209 create table ttrss_filter_actions (id integer not null primary key,
210 name varchar(120) unique not null,
211 description varchar(250) not null unique) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
212
213 insert into ttrss_filter_actions (id,name,description) values (1, 'filter',
214 'Delete article');
215
216 insert into ttrss_filter_actions (id,name,description) values (2, 'catchup',
217 'Mark as read');
218
219 insert into ttrss_filter_actions (id,name,description) values (3, 'mark',
220 'Set starred');
221
222 insert into ttrss_filter_actions (id,name,description) values (4, 'tag',
223 'Assign tags');
224
225 insert into ttrss_filter_actions (id,name,description) values (5, 'publish',
226 'Publish article');
227
228 insert into ttrss_filter_actions (id,name,description) values (6, 'score',
229 'Modify score');
230
231 insert into ttrss_filter_actions (id,name,description) values (7, 'label',
232 'Assign label');
233
234 insert into ttrss_filter_actions (id,name,description) values (8, 'stop',
235 'Stop / Do nothing');
236
237 create table ttrss_filters2(id integer primary key auto_increment,
238 owner_uid integer not null,
239 match_any_rule boolean not null default false,
240 enabled boolean not null default true,
241 inverse bool not null default false,
242 title varchar(250) not null default '',
243 order_id integer not null default 0,
244 foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
245
246 create table ttrss_filters2_rules(id integer primary key auto_increment,
247 filter_id integer not null references ttrss_filters2(id) on delete cascade,
248 reg_exp varchar(250) not null,
249 inverse bool not null default false,
250 filter_type integer not null,
251 feed_id integer default null,
252 cat_id integer default null,
253 cat_filter boolean not null default false,
254 index (filter_id),
255 foreign key (filter_id) references ttrss_filters2(id) on delete cascade,
256 index (filter_type),
257 foreign key (filter_type) references ttrss_filter_types(id) ON DELETE CASCADE,
258 index (feed_id),
259 foreign key (feed_id) references ttrss_feeds(id) ON DELETE CASCADE,
260 index (cat_id),
261 foreign key (cat_id) references ttrss_feed_categories(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
262
263 create table ttrss_filters2_actions(id integer primary key auto_increment,
264 filter_id integer not null,
265 action_id integer not null default 1 references ttrss_filter_actions(id) on delete cascade,
266 action_param varchar(250) not null default '',
267 index (filter_id),
268 foreign key (filter_id) references ttrss_filters2(id) on delete cascade,
269 index (action_id),
270 foreign key (action_id) references ttrss_filter_actions(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
271
272 create table ttrss_tags (id integer primary key auto_increment,
273 owner_uid integer not null,
274 tag_name varchar(250) not null,
275 post_int_id integer not null,
276 index (post_int_id),
277 foreign key (post_int_id) references ttrss_user_entries(int_id) ON DELETE CASCADE,
278 index (owner_uid),
279 foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
280
281 create table ttrss_version (schema_version int not null) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
282
283 insert into ttrss_version values (127);
284
285 create table ttrss_enclosures (id integer primary key auto_increment,
286 content_url text not null,
287 content_type varchar(250) not null,
288 post_id integer not null,
289 title text not null,
290 duration text not null,
291 width integer not null default 0,
292 height integer not null default 0,
293 foreign key (post_id) references ttrss_entries(id) ON DELETE cascade) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
294
295 create table ttrss_settings_profiles(id integer primary key auto_increment,
296 title varchar(250) not null,
297 owner_uid integer not null,
298 index (owner_uid),
299 foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
300
301 create table ttrss_prefs_types (id integer not null primary key,
302 type_name varchar(100) not null) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
303
304 insert into ttrss_prefs_types (id, type_name) values (1, 'bool');
305 insert into ttrss_prefs_types (id, type_name) values (2, 'string');
306 insert into ttrss_prefs_types (id, type_name) values (3, 'integer');
307
308 create table ttrss_prefs_sections (id integer not null primary key,
309 order_id integer not null) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
310
311 insert into ttrss_prefs_sections (id, order_id) values (1, 0);
312 insert into ttrss_prefs_sections (id, order_id) values (2, 1);
313 insert into ttrss_prefs_sections (id, order_id) values (3, 3);
314 insert into ttrss_prefs_sections (id, order_id) values (4, 2);
315
316 create table ttrss_prefs (pref_name varchar(250) not null primary key,
317 type_id integer not null,
318 section_id integer not null default 1,
319 access_level integer not null default 0,
320 def_value text not null,
321 foreign key (type_id) references ttrss_prefs_types(id),
322 foreign key (section_id) references ttrss_prefs_sections(id)) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
323
324 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('PURGE_OLD_DAYS', 3, '60', 1);
325 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('DEFAULT_UPDATE_INTERVAL', 3, '30', 1);
326 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('DEFAULT_ARTICLE_LIMIT', 3, '30', 2);
327 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('ALLOW_DUPLICATE_POSTS', 1, 'false', 1);
328 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('ENABLE_FEED_CATS', 1, 'true', 2);
329 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('SHOW_CONTENT_PREVIEW', 1, 'true', 2);
330 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('SHORT_DATE_FORMAT', 2, 'M d, G:i', 3);
331 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('LONG_DATE_FORMAT', 2, 'D, M d Y - G:i', 3);
332 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('COMBINED_DISPLAY_MODE', 1, 'true', 2);
333 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('HIDE_READ_FEEDS', 1, 'false', 2);
334 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('ON_CATCHUP_SHOW_NEXT_FEED', 1, 'false', 2);
335 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('FEEDS_SORT_BY_UNREAD', 1, 'false', 2);
336 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('REVERSE_HEADLINES', 1, 'false', 2);
337 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('DIGEST_ENABLE', 1, 'false', 4);
338 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('CONFIRM_FEED_CATCHUP', 1, 'true', 2);
339 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('CDM_AUTO_CATCHUP', 1, 'false', 2);
340 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('_DEFAULT_VIEW_MODE', 2, 'adaptive', 1);
341 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('_DEFAULT_VIEW_LIMIT', 3, '30', 1);
342 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('_PREFS_ACTIVE_TAB', 2, '', 1);
343 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('STRIP_UNSAFE_TAGS', 1, 'true', 3);
344 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('BLACKLISTED_TAGS', 2, 'main, generic, misc, uncategorized, blog, blogroll, general, news', 3);
345 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('FRESH_ARTICLE_MAX_AGE', 3, '24', 2);
346 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('DIGEST_CATCHUP', 1, 'false', 4);
347 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('CDM_EXPANDED', 1, 'true', 2);
348 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('PURGE_UNREAD_ARTICLES', 1, 'true', 3);
349 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('HIDE_READ_SHOWS_SPECIAL', 1, 'true', 2);
350 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('VFEED_GROUP_BY_FEED', 1, 'false', 2);
351 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('STRIP_IMAGES', 1, 'false', 2);
352 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('_DEFAULT_VIEW_ORDER_BY', 2, 'default', 1);
353 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('ENABLE_API_ACCESS', 1, 'false', 1);
354 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('_COLLAPSED_SPECIAL', 1, 'false', 1);
355 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('_COLLAPSED_LABELS', 1, 'false', 1);
356 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('_COLLAPSED_UNCAT', 1, 'false', 1);
357 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('_COLLAPSED_FEEDLIST', 1, 'false', 1);
358 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('_MOBILE_ENABLE_CATS', 1, 'false', 1);
359 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('_MOBILE_SHOW_IMAGES', 1, 'false', 1);
360 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('_MOBILE_HIDE_READ', 1, 'false', 1);
361 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('_MOBILE_SORT_FEEDS_UNREAD', 1, 'false', 1);
362 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('_THEME_ID', 2, '0', 1);
363 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('USER_TIMEZONE', 2, 'Automatic', 1);
364 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('USER_STYLESHEET', 2, '', 2);
365 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('SORT_HEADLINES_BY_FEED_DATE', 1, 'false', 2);
366 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('_MOBILE_BROWSE_CATS', 1, 'true', 1);
367 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('SSL_CERT_SERIAL', 2, '', 3);
368 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('DIGEST_PREFERRED_TIME', 2, '00:00', 4);
369 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('_PREFS_SHOW_EMPTY_CATS', 1, 'false', 1);
370 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('_DEFAULT_INCLUDE_CHILDREN', 1, 'false', 1);
371 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('AUTO_ASSIGN_LABELS', 1, 'false', 3);
372 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('_ENABLED_PLUGINS', 2, '', 1);
373 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('_MOBILE_REVERSE_HEADLINES', 1, 'false', 1);
374 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('USER_CSS_THEME', 2, '', 2);
375 insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('USER_LANGUAGE', 2, '', 2);
376
377 update ttrss_prefs set access_level = 1 where pref_name in ('ON_CATCHUP_SHOW_NEXT_FEED',
378 'SORT_HEADLINES_BY_FEED_DATE',
379 'VFEED_GROUP_BY_FEED',
380 'FRESH_ARTICLE_MAX_AGE',
381 'CDM_EXPANDED',
382 'SHOW_CONTENT_PREVIEW',
383 'AUTO_ASSIGN_LABELS',
384 'HIDE_READ_SHOWS_SPECIAL');
385
386 create table ttrss_user_prefs (
387 owner_uid integer not null,
388 pref_name varchar(250),
389 value longtext not null,
390 profile integer,
391 index (profile),
392 foreign key (profile) references ttrss_settings_profiles(id) ON DELETE CASCADE,
393 foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE,
394 foreign key (pref_name) references ttrss_prefs(pref_name) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
395
396 create table ttrss_sessions (id varchar(250) not null primary key,
397 data text,
398 expire integer not null,
399 index (expire)) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
400
401 create table ttrss_feedbrowser_cache (
402 feed_url text not null,
403 site_url text not null,
404 title text not null,
405 subscribers integer not null) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
406
407 create table ttrss_labels2 (id integer not null primary key auto_increment,
408 owner_uid integer not null,
409 caption varchar(250) not null,
410 fg_color varchar(15) not null default '',
411 bg_color varchar(15) not null default '',
412 foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE
413 ) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
414
415 create table ttrss_user_labels2 (label_id integer not null,
416 article_id integer not null,
417 foreign key (label_id) references ttrss_labels2(id) ON DELETE CASCADE,
418 foreign key (article_id) references ttrss_entries(id) ON DELETE CASCADE
419 ) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
420
421 create table ttrss_access_keys (id integer not null primary key auto_increment,
422 access_key varchar(250) not null,
423 feed_id varchar(250) not null,
424 is_cat bool not null default false,
425 owner_uid integer not null,
426 foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
427
428 create table ttrss_linked_instances (id integer not null primary key auto_increment,
429 last_connected datetime not null,
430 last_status_in integer not null,
431 last_status_out integer not null,
432 access_key varchar(250) not null unique,
433 access_url text not null) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
434
435 create table ttrss_linked_feeds (
436 feed_url text not null,
437 site_url text not null,
438 title text not null,
439 created datetime not null,
440 updated datetime not null,
441 instance_id integer not null,
442 subscribers integer not null,
443 foreign key (instance_id) references ttrss_linked_instances(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
444
445 create table ttrss_plugin_storage (
446 id integer not null auto_increment primary key,
447 name varchar(100) not null,
448 owner_uid integer not null,
449 content longtext not null,
450 foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
451
452 create table ttrss_error_log(
453 id integer not null auto_increment primary key,
454 owner_uid integer,
455 errno integer not null,
456 errstr text not null,
457 filename text not null,
458 lineno integer not null,
459 context text not null,
460 created_at datetime not null,
461 foreign key (owner_uid) references ttrss_users(id) ON DELETE SET NULL) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
462
463 commit;