sql.go 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. // Code generated by go generate; DO NOT EDIT.
  2. package database // import "miniflux.app/database"
  3. var SqlMap = map[string]string{
  4. "schema_version_1": `create table schema_version (
  5. version text not null
  6. );
  7. create table users (
  8. id serial not null,
  9. username text not null unique,
  10. password text,
  11. is_admin bool default 'f',
  12. language text default 'en_US',
  13. timezone text default 'UTC',
  14. theme text default 'default',
  15. last_login_at timestamp with time zone,
  16. primary key (id)
  17. );
  18. create table sessions (
  19. id serial not null,
  20. user_id int not null,
  21. token text not null unique,
  22. created_at timestamp with time zone default now(),
  23. user_agent text,
  24. ip text,
  25. primary key (id),
  26. unique (user_id, token),
  27. foreign key (user_id) references users(id) on delete cascade
  28. );
  29. create table categories (
  30. id serial not null,
  31. user_id int not null,
  32. title text not null,
  33. primary key (id),
  34. unique (user_id, title),
  35. foreign key (user_id) references users(id) on delete cascade
  36. );
  37. create table feeds (
  38. id bigserial not null,
  39. user_id int not null,
  40. category_id int not null,
  41. title text not null,
  42. feed_url text not null,
  43. site_url text not null,
  44. checked_at timestamp with time zone default now(),
  45. etag_header text default '',
  46. last_modified_header text default '',
  47. parsing_error_msg text default '',
  48. parsing_error_count int default 0,
  49. primary key (id),
  50. unique (user_id, feed_url),
  51. foreign key (user_id) references users(id) on delete cascade,
  52. foreign key (category_id) references categories(id) on delete cascade
  53. );
  54. create type entry_status as enum('unread', 'read', 'removed');
  55. create table entries (
  56. id bigserial not null,
  57. user_id int not null,
  58. feed_id bigint not null,
  59. hash text not null,
  60. published_at timestamp with time zone not null,
  61. title text not null,
  62. url text not null,
  63. author text,
  64. content text,
  65. status entry_status default 'unread',
  66. primary key (id),
  67. unique (feed_id, hash),
  68. foreign key (user_id) references users(id) on delete cascade,
  69. foreign key (feed_id) references feeds(id) on delete cascade
  70. );
  71. create index entries_feed_idx on entries using btree(feed_id);
  72. create table enclosures (
  73. id bigserial not null,
  74. user_id int not null,
  75. entry_id bigint not null,
  76. url text not null,
  77. size int default 0,
  78. mime_type text default '',
  79. primary key (id),
  80. foreign key (user_id) references users(id) on delete cascade,
  81. foreign key (entry_id) references entries(id) on delete cascade
  82. );
  83. create table icons (
  84. id bigserial not null,
  85. hash text not null unique,
  86. mime_type text not null,
  87. content bytea not null,
  88. primary key (id)
  89. );
  90. create table feed_icons (
  91. feed_id bigint not null,
  92. icon_id bigint not null,
  93. primary key(feed_id, icon_id),
  94. foreign key (feed_id) references feeds(id) on delete cascade,
  95. foreign key (icon_id) references icons(id) on delete cascade
  96. );
  97. `,
  98. "schema_version_10": `drop table tokens;
  99. create table sessions (
  100. id text not null,
  101. data jsonb not null,
  102. created_at timestamp with time zone not null default now(),
  103. primary key(id)
  104. );`,
  105. "schema_version_11": `alter table integrations add column wallabag_enabled bool default 'f';
  106. alter table integrations add column wallabag_url text default '';
  107. alter table integrations add column wallabag_client_id text default '';
  108. alter table integrations add column wallabag_client_secret text default '';
  109. alter table integrations add column wallabag_username text default '';
  110. alter table integrations add column wallabag_password text default '';`,
  111. "schema_version_12": `alter table entries add column starred bool default 'f';`,
  112. "schema_version_13": `create index entries_user_status_idx on entries(user_id, status);
  113. create index feeds_user_category_idx on feeds(user_id, category_id);
  114. `,
  115. "schema_version_14": `alter table integrations add column nunux_keeper_enabled bool default 'f';
  116. alter table integrations add column nunux_keeper_url text default '';
  117. alter table integrations add column nunux_keeper_api_key text default '';`,
  118. "schema_version_15": `alter table enclosures alter column size set data type bigint;`,
  119. "schema_version_16": `alter table entries add column comments_url text default '';`,
  120. "schema_version_17": `alter table integrations add column pocket_enabled bool default 'f';
  121. alter table integrations add column pocket_access_token text default '';
  122. alter table integrations add column pocket_consumer_key text default '';
  123. `,
  124. "schema_version_18": `alter table user_sessions alter column ip set data type inet using ip::inet;`,
  125. "schema_version_19": `alter table feeds add column username text default '';
  126. alter table feeds add column password text default '';`,
  127. "schema_version_2": `create extension if not exists hstore;
  128. alter table users add column extra hstore;
  129. create index users_extra_idx on users using gin(extra);
  130. `,
  131. "schema_version_20": `alter table entries add column document_vectors tsvector;
  132. update entries set document_vectors = to_tsvector(substring(title || ' ' || coalesce(content, '') for 1000000));
  133. create index document_vectors_idx on entries using gin(document_vectors);`,
  134. "schema_version_21": `alter table feeds add column user_agent text default '';`,
  135. "schema_version_22": `update entries set document_vectors = setweight(to_tsvector(substring(coalesce(title, '') for 1000000)), 'A') || setweight(to_tsvector(substring(coalesce(content, '') for 1000000)), 'B');`,
  136. "schema_version_23": `alter table users add column keyboard_shortcuts boolean default 't';`,
  137. "schema_version_24": `alter table feeds add column disabled boolean default 'f';`,
  138. "schema_version_25": `ALTER TABLE users ALTER COLUMN theme SET DEFAULT 'light_serif';
  139. UPDATE users SET theme='light_serif' WHERE theme='default';
  140. UPDATE users SET theme='light_sans_serif' WHERE theme='sansserif';
  141. UPDATE users SET theme='dark_serif' WHERE theme='black';
  142. `,
  143. "schema_version_26": `alter table entries add column changed_at timestamp with time zone;
  144. update entries set changed_at = published_at;
  145. alter table entries alter column changed_at set not null;
  146. `,
  147. "schema_version_27": `create table api_keys (
  148. id serial not null,
  149. user_id int not null references users(id) on delete cascade,
  150. token text not null unique,
  151. description text not null,
  152. last_used_at timestamp with time zone,
  153. created_at timestamp with time zone default now(),
  154. primary key(id),
  155. unique (user_id, description)
  156. );
  157. `,
  158. "schema_version_28": `alter table entries add column share_code text not null default '';
  159. create unique index entries_share_code_idx on entries using btree(share_code) where share_code <> '';
  160. `,
  161. "schema_version_29": `create index enclosures_user_entry_url_idx on enclosures(user_id, entry_id, md5(url));
  162. `,
  163. "schema_version_3": `create table tokens (
  164. id text not null,
  165. value text not null,
  166. created_at timestamp with time zone not null default now(),
  167. primary key(id, value)
  168. );`,
  169. "schema_version_30": `alter table feeds add column next_check_at timestamp with time zone default now();
  170. create index entries_user_feed_idx on entries (user_id, feed_id);
  171. `,
  172. "schema_version_31": `alter table feeds add column ignore_http_cache bool default false;`,
  173. "schema_version_4": `create type entry_sorting_direction as enum('asc', 'desc');
  174. alter table users add column entry_direction entry_sorting_direction default 'asc';
  175. `,
  176. "schema_version_5": `create table integrations (
  177. user_id int not null,
  178. pinboard_enabled bool default 'f',
  179. pinboard_token text default '',
  180. pinboard_tags text default 'miniflux',
  181. pinboard_mark_as_unread bool default 'f',
  182. instapaper_enabled bool default 'f',
  183. instapaper_username text default '',
  184. instapaper_password text default '',
  185. fever_enabled bool default 'f',
  186. fever_username text default '',
  187. fever_password text default '',
  188. fever_token text default '',
  189. primary key(user_id)
  190. )
  191. `,
  192. "schema_version_6": `alter table feeds add column scraper_rules text default '';
  193. `,
  194. "schema_version_7": `alter table feeds add column rewrite_rules text default '';
  195. `,
  196. "schema_version_8": `alter table feeds add column crawler boolean default 'f';
  197. `,
  198. "schema_version_9": `alter table sessions rename to user_sessions;`,
  199. }
  200. var SqlMapChecksums = map[string]string{
  201. "schema_version_1": "00b2fa9e945565625c93ef9d4242a8b6583dc3cd7edf38d2fc95c0f3f7b926ae",
  202. "schema_version_10": "8faf15ddeff7c8cc305e66218face11ed92b97df2bdc2d0d7944d61441656795",
  203. "schema_version_11": "dc5bbc302e01e425b49c48ddcd8e29e3ab2bb8e73a6cd1858a6ba9fbec0b5243",
  204. "schema_version_12": "a95abab6cdf64811fc744abd37457e2928939d999c5ef00d2bdd9398e16f32fb",
  205. "schema_version_13": "9073fae1e796936f4a43a8120ebdb4218442fe7d346ace6387556a357c2d7edf",
  206. "schema_version_14": "4622e42c4a5a88b6fe1e61f3d367b295968f7260ab5b96481760775ba9f9e1fe",
  207. "schema_version_15": "13ff91462bdf4cda5a94a4c7a09f757761b0f2c32b4be713ba4786a4837750e4",
  208. "schema_version_16": "9d006faca62fd7ab787f64aef0e0a5933d142466ec4cab0e096bb920d2797e34",
  209. "schema_version_17": "b9f15d6217275fedcf6d948dd85ebe978b869bf37f42a86fd5b50a51919fa0e1",
  210. "schema_version_18": "c0ec24847612c7f2dc326cf735baffba79391a56aedd73292371a39f38724a71",
  211. "schema_version_19": "a83f77b41cc213d282805a5b518f15abbf96331599119f0ef4aca4be037add7b",
  212. "schema_version_2": "e8e9ff32478df04fcddad10a34cba2e8bb1e67e7977b5bd6cdc4c31ec94282b4",
  213. "schema_version_20": "5d414c0cfc0da2863c641079afa58b7ff42dccb0f0e01c822ad435c3e3aa9201",
  214. "schema_version_21": "77da01ee38918ff4fe33985fbb20ed3276a717a7584c2ca9ebcf4d4ab6cb6910",
  215. "schema_version_22": "51ed5fbcae9877e57274511f0ef8c61d254ebd78dfbcbc043a2acd30f4c93ca3",
  216. "schema_version_23": "cb3512d328436447f114e305048c0daa8af7505cfe5eab02778b0de1156081b2",
  217. "schema_version_24": "1224754c5b9c6b4038599852bbe72656d21b09cb018d3970bd7c00f0019845bf",
  218. "schema_version_25": "5262d2d4c88d637b6603a1fcd4f68ad257bd59bd1adf89c58a18ee87b12050d7",
  219. "schema_version_26": "64f14add40691f18f514ac0eed10cd9b19c83a35e5c3d8e0bce667e0ceca9094",
  220. "schema_version_27": "4235396b37fd7f52ff6f7526416042bb1649701233e2d99f0bcd583834a0a967",
  221. "schema_version_28": "a64b5ba0b37fe3f209617b7d0e4dd05018d2b8362d2c9c528ba8cce19b77e326",
  222. "schema_version_29": "527403d951d025b387baf7b1ab80c014752c5429cc0b9851aeb34b7716cf2c68",
  223. "schema_version_3": "a54745dbc1c51c000f74d4e5068f1e2f43e83309f023415b1749a47d5c1e0f12",
  224. "schema_version_30": "3ec48a9b2e7a0fc32c85f31652f723565c34213f5f2d7e5e5076aad8f0b40d23",
  225. "schema_version_31": "9290ef295731b03ddfe32dcaded0be70d41b63572420ad379cf2874a9b54581c",
  226. "schema_version_4": "216ea3a7d3e1704e40c797b5dc47456517c27dbb6ca98bf88812f4f63d74b5d9",
  227. "schema_version_5": "46397e2f5f2c82116786127e9f6a403e975b14d2ca7b652a48cd1ba843e6a27c",
  228. "schema_version_6": "9d05b4fb223f0e60efc716add5048b0ca9c37511cf2041721e20505d6d798ce4",
  229. "schema_version_7": "33f298c9aa30d6de3ca28e1270df51c2884d7596f1283a75716e2aeb634cd05c",
  230. "schema_version_8": "9922073fc4032d8922617ec6a6a07ae8d4817846c138760fb96cb5608ab83bfc",
  231. "schema_version_9": "de5ba954752fe808a993feef5bf0c6f808e0a4ced5379de8bec8342678150892",
  232. }