/phpBB/install/schemas/postgres_schema.sql

https://github.com/naderman/phpbb-orchestra · SQL · 1309 lines · 934 code · 172 blank · 203 comment · 0 complexity · d1e234442a2d575fb00a8b22e4a93896 MD5 · raw file

  1. /*
  2. $Id: $
  3. */
  4. BEGIN;
  5. /*
  6. Domain definition
  7. */
  8. CREATE DOMAIN varchar_ci AS varchar(255) NOT NULL DEFAULT ''::character varying;
  9. /*
  10. Operation Functions
  11. */
  12. CREATE FUNCTION _varchar_ci_equal(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) = LOWER($2)' LANGUAGE SQL STRICT;
  13. CREATE FUNCTION _varchar_ci_not_equal(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) != LOWER($2)' LANGUAGE SQL STRICT;
  14. CREATE FUNCTION _varchar_ci_less_than(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) < LOWER($2)' LANGUAGE SQL STRICT;
  15. CREATE FUNCTION _varchar_ci_less_equal(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) <= LOWER($2)' LANGUAGE SQL STRICT;
  16. CREATE FUNCTION _varchar_ci_greater_than(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) > LOWER($2)' LANGUAGE SQL STRICT;
  17. CREATE FUNCTION _varchar_ci_greater_equals(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) >= LOWER($2)' LANGUAGE SQL STRICT;
  18. /*
  19. Operators
  20. */
  21. CREATE OPERATOR <(
  22. PROCEDURE = _varchar_ci_less_than,
  23. LEFTARG = varchar_ci,
  24. RIGHTARG = varchar_ci,
  25. COMMUTATOR = >,
  26. NEGATOR = >=,
  27. RESTRICT = scalarltsel,
  28. JOIN = scalarltjoinsel);
  29. CREATE OPERATOR <=(
  30. PROCEDURE = _varchar_ci_less_equal,
  31. LEFTARG = varchar_ci,
  32. RIGHTARG = varchar_ci,
  33. COMMUTATOR = >=,
  34. NEGATOR = >,
  35. RESTRICT = scalarltsel,
  36. JOIN = scalarltjoinsel);
  37. CREATE OPERATOR >(
  38. PROCEDURE = _varchar_ci_greater_than,
  39. LEFTARG = varchar_ci,
  40. RIGHTARG = varchar_ci,
  41. COMMUTATOR = <,
  42. NEGATOR = <=,
  43. RESTRICT = scalargtsel,
  44. JOIN = scalargtjoinsel);
  45. CREATE OPERATOR >=(
  46. PROCEDURE = _varchar_ci_greater_equals,
  47. LEFTARG = varchar_ci,
  48. RIGHTARG = varchar_ci,
  49. COMMUTATOR = <=,
  50. NEGATOR = <,
  51. RESTRICT = scalargtsel,
  52. JOIN = scalargtjoinsel);
  53. CREATE OPERATOR <>(
  54. PROCEDURE = _varchar_ci_not_equal,
  55. LEFTARG = varchar_ci,
  56. RIGHTARG = varchar_ci,
  57. COMMUTATOR = <>,
  58. NEGATOR = =,
  59. RESTRICT = neqsel,
  60. JOIN = neqjoinsel);
  61. CREATE OPERATOR =(
  62. PROCEDURE = _varchar_ci_equal,
  63. LEFTARG = varchar_ci,
  64. RIGHTARG = varchar_ci,
  65. COMMUTATOR = =,
  66. NEGATOR = <>,
  67. RESTRICT = eqsel,
  68. JOIN = eqjoinsel,
  69. HASHES,
  70. MERGES,
  71. SORT1= <);
  72. /*
  73. Table: 'phpbb_attachments'
  74. */
  75. CREATE SEQUENCE phpbb_attachments_seq;
  76. CREATE TABLE phpbb_attachments (
  77. attach_id INT4 DEFAULT nextval('phpbb_attachments_seq'),
  78. post_msg_id INT4 DEFAULT '0' NOT NULL CHECK (post_msg_id >= 0),
  79. topic_id INT4 DEFAULT '0' NOT NULL CHECK (topic_id >= 0),
  80. in_message INT2 DEFAULT '0' NOT NULL CHECK (in_message >= 0),
  81. poster_id INT4 DEFAULT '0' NOT NULL CHECK (poster_id >= 0),
  82. is_orphan INT2 DEFAULT '1' NOT NULL CHECK (is_orphan >= 0),
  83. physical_filename varchar(255) DEFAULT '' NOT NULL,
  84. real_filename varchar(255) DEFAULT '' NOT NULL,
  85. download_count INT4 DEFAULT '0' NOT NULL CHECK (download_count >= 0),
  86. attach_comment varchar(4000) DEFAULT '' NOT NULL,
  87. extension varchar(100) DEFAULT '' NOT NULL,
  88. mimetype varchar(100) DEFAULT '' NOT NULL,
  89. filesize INT4 DEFAULT '0' NOT NULL CHECK (filesize >= 0),
  90. filetime INT4 DEFAULT '0' NOT NULL CHECK (filetime >= 0),
  91. thumbnail INT2 DEFAULT '0' NOT NULL CHECK (thumbnail >= 0),
  92. PRIMARY KEY (attach_id)
  93. );
  94. CREATE INDEX phpbb_attachments_filetime ON phpbb_attachments (filetime);
  95. CREATE INDEX phpbb_attachments_post_msg_id ON phpbb_attachments (post_msg_id);
  96. CREATE INDEX phpbb_attachments_topic_id ON phpbb_attachments (topic_id);
  97. CREATE INDEX phpbb_attachments_poster_id ON phpbb_attachments (poster_id);
  98. CREATE INDEX phpbb_attachments_is_orphan ON phpbb_attachments (is_orphan);
  99. /*
  100. Table: 'phpbb_acl_groups'
  101. */
  102. CREATE TABLE phpbb_acl_groups (
  103. group_id INT4 DEFAULT '0' NOT NULL CHECK (group_id >= 0),
  104. forum_id INT4 DEFAULT '0' NOT NULL CHECK (forum_id >= 0),
  105. auth_option_id INT4 DEFAULT '0' NOT NULL CHECK (auth_option_id >= 0),
  106. auth_role_id INT4 DEFAULT '0' NOT NULL CHECK (auth_role_id >= 0),
  107. auth_setting INT2 DEFAULT '0' NOT NULL
  108. );
  109. CREATE INDEX phpbb_acl_groups_group_id ON phpbb_acl_groups (group_id);
  110. CREATE INDEX phpbb_acl_groups_auth_opt_id ON phpbb_acl_groups (auth_option_id);
  111. CREATE INDEX phpbb_acl_groups_auth_role_id ON phpbb_acl_groups (auth_role_id);
  112. /*
  113. Table: 'phpbb_acl_options'
  114. */
  115. CREATE SEQUENCE phpbb_acl_options_seq;
  116. CREATE TABLE phpbb_acl_options (
  117. auth_option_id INT4 DEFAULT nextval('phpbb_acl_options_seq'),
  118. auth_option varchar(50) DEFAULT '' NOT NULL,
  119. is_global INT2 DEFAULT '0' NOT NULL CHECK (is_global >= 0),
  120. is_local INT2 DEFAULT '0' NOT NULL CHECK (is_local >= 0),
  121. founder_only INT2 DEFAULT '0' NOT NULL CHECK (founder_only >= 0),
  122. PRIMARY KEY (auth_option_id)
  123. );
  124. CREATE UNIQUE INDEX phpbb_acl_options_auth_option ON phpbb_acl_options (auth_option);
  125. /*
  126. Table: 'phpbb_acl_roles'
  127. */
  128. CREATE SEQUENCE phpbb_acl_roles_seq;
  129. CREATE TABLE phpbb_acl_roles (
  130. role_id INT4 DEFAULT nextval('phpbb_acl_roles_seq'),
  131. role_name varchar(255) DEFAULT '' NOT NULL,
  132. role_description varchar(4000) DEFAULT '' NOT NULL,
  133. role_type varchar(10) DEFAULT '' NOT NULL,
  134. role_order INT2 DEFAULT '0' NOT NULL CHECK (role_order >= 0),
  135. PRIMARY KEY (role_id)
  136. );
  137. CREATE INDEX phpbb_acl_roles_role_type ON phpbb_acl_roles (role_type);
  138. CREATE INDEX phpbb_acl_roles_role_order ON phpbb_acl_roles (role_order);
  139. /*
  140. Table: 'phpbb_acl_roles_data'
  141. */
  142. CREATE TABLE phpbb_acl_roles_data (
  143. role_id INT4 DEFAULT '0' NOT NULL CHECK (role_id >= 0),
  144. auth_option_id INT4 DEFAULT '0' NOT NULL CHECK (auth_option_id >= 0),
  145. auth_setting INT2 DEFAULT '0' NOT NULL,
  146. PRIMARY KEY (role_id, auth_option_id)
  147. );
  148. CREATE INDEX phpbb_acl_roles_data_ath_op_id ON phpbb_acl_roles_data (auth_option_id);
  149. /*
  150. Table: 'phpbb_acl_users'
  151. */
  152. CREATE TABLE phpbb_acl_users (
  153. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  154. forum_id INT4 DEFAULT '0' NOT NULL CHECK (forum_id >= 0),
  155. auth_option_id INT4 DEFAULT '0' NOT NULL CHECK (auth_option_id >= 0),
  156. auth_role_id INT4 DEFAULT '0' NOT NULL CHECK (auth_role_id >= 0),
  157. auth_setting INT2 DEFAULT '0' NOT NULL
  158. );
  159. CREATE INDEX phpbb_acl_users_user_id ON phpbb_acl_users (user_id);
  160. CREATE INDEX phpbb_acl_users_auth_option_id ON phpbb_acl_users (auth_option_id);
  161. CREATE INDEX phpbb_acl_users_auth_role_id ON phpbb_acl_users (auth_role_id);
  162. /*
  163. Table: 'phpbb_banlist'
  164. */
  165. CREATE SEQUENCE phpbb_banlist_seq;
  166. CREATE TABLE phpbb_banlist (
  167. ban_id INT4 DEFAULT nextval('phpbb_banlist_seq'),
  168. ban_userid INT4 DEFAULT '0' NOT NULL CHECK (ban_userid >= 0),
  169. ban_ip varchar(40) DEFAULT '' NOT NULL,
  170. ban_email varchar(100) DEFAULT '' NOT NULL,
  171. ban_start INT4 DEFAULT '0' NOT NULL CHECK (ban_start >= 0),
  172. ban_end INT4 DEFAULT '0' NOT NULL CHECK (ban_end >= 0),
  173. ban_exclude INT2 DEFAULT '0' NOT NULL CHECK (ban_exclude >= 0),
  174. ban_reason varchar(255) DEFAULT '' NOT NULL,
  175. ban_give_reason varchar(255) DEFAULT '' NOT NULL,
  176. PRIMARY KEY (ban_id)
  177. );
  178. CREATE INDEX phpbb_banlist_ban_end ON phpbb_banlist (ban_end);
  179. CREATE INDEX phpbb_banlist_ban_user ON phpbb_banlist (ban_userid, ban_exclude);
  180. CREATE INDEX phpbb_banlist_ban_email ON phpbb_banlist (ban_email, ban_exclude);
  181. CREATE INDEX phpbb_banlist_ban_ip ON phpbb_banlist (ban_ip, ban_exclude);
  182. /*
  183. Table: 'phpbb_bbcodes'
  184. */
  185. CREATE TABLE phpbb_bbcodes (
  186. bbcode_id INT2 DEFAULT '0' NOT NULL CHECK (bbcode_id >= 0),
  187. bbcode_tag varchar(16) DEFAULT '' NOT NULL,
  188. bbcode_helpline varchar(255) DEFAULT '' NOT NULL,
  189. display_on_posting INT2 DEFAULT '0' NOT NULL CHECK (display_on_posting >= 0),
  190. bbcode_match varchar(4000) DEFAULT '' NOT NULL,
  191. bbcode_tpl TEXT DEFAULT '' NOT NULL,
  192. first_pass_match TEXT DEFAULT '' NOT NULL,
  193. first_pass_replace TEXT DEFAULT '' NOT NULL,
  194. second_pass_match TEXT DEFAULT '' NOT NULL,
  195. second_pass_replace TEXT DEFAULT '' NOT NULL,
  196. PRIMARY KEY (bbcode_id)
  197. );
  198. CREATE INDEX phpbb_bbcodes_display_on_post ON phpbb_bbcodes (display_on_posting);
  199. /*
  200. Table: 'phpbb_bookmarks'
  201. */
  202. CREATE TABLE phpbb_bookmarks (
  203. topic_id INT4 DEFAULT '0' NOT NULL CHECK (topic_id >= 0),
  204. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  205. PRIMARY KEY (topic_id, user_id)
  206. );
  207. /*
  208. Table: 'phpbb_bots'
  209. */
  210. CREATE SEQUENCE phpbb_bots_seq;
  211. CREATE TABLE phpbb_bots (
  212. bot_id INT4 DEFAULT nextval('phpbb_bots_seq'),
  213. bot_active INT2 DEFAULT '1' NOT NULL CHECK (bot_active >= 0),
  214. bot_name varchar(255) DEFAULT '' NOT NULL,
  215. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  216. bot_agent varchar(255) DEFAULT '' NOT NULL,
  217. bot_ip varchar(255) DEFAULT '' NOT NULL,
  218. PRIMARY KEY (bot_id)
  219. );
  220. CREATE INDEX phpbb_bots_bot_active ON phpbb_bots (bot_active);
  221. /*
  222. Table: 'phpbb_config'
  223. */
  224. CREATE TABLE phpbb_config (
  225. config_name varchar(255) DEFAULT '' NOT NULL,
  226. config_value varchar(255) DEFAULT '' NOT NULL,
  227. is_dynamic INT2 DEFAULT '0' NOT NULL CHECK (is_dynamic >= 0),
  228. PRIMARY KEY (config_name)
  229. );
  230. CREATE INDEX phpbb_config_is_dynamic ON phpbb_config (is_dynamic);
  231. /*
  232. Table: 'phpbb_confirm'
  233. */
  234. CREATE TABLE phpbb_confirm (
  235. confirm_id char(32) DEFAULT '' NOT NULL,
  236. session_id char(32) DEFAULT '' NOT NULL,
  237. confirm_type INT2 DEFAULT '0' NOT NULL,
  238. code varchar(8) DEFAULT '' NOT NULL,
  239. seed INT4 DEFAULT '0' NOT NULL CHECK (seed >= 0),
  240. attempts INT4 DEFAULT '0' NOT NULL CHECK (attempts >= 0),
  241. PRIMARY KEY (session_id, confirm_id)
  242. );
  243. CREATE INDEX phpbb_confirm_confirm_type ON phpbb_confirm (confirm_type);
  244. /*
  245. Table: 'phpbb_disallow'
  246. */
  247. CREATE SEQUENCE phpbb_disallow_seq;
  248. CREATE TABLE phpbb_disallow (
  249. disallow_id INT4 DEFAULT nextval('phpbb_disallow_seq'),
  250. disallow_username varchar(255) DEFAULT '' NOT NULL,
  251. PRIMARY KEY (disallow_id)
  252. );
  253. /*
  254. Table: 'phpbb_drafts'
  255. */
  256. CREATE SEQUENCE phpbb_drafts_seq;
  257. CREATE TABLE phpbb_drafts (
  258. draft_id INT4 DEFAULT nextval('phpbb_drafts_seq'),
  259. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  260. topic_id INT4 DEFAULT '0' NOT NULL CHECK (topic_id >= 0),
  261. forum_id INT4 DEFAULT '0' NOT NULL CHECK (forum_id >= 0),
  262. save_time INT4 DEFAULT '0' NOT NULL CHECK (save_time >= 0),
  263. draft_subject varchar(255) DEFAULT '' NOT NULL,
  264. draft_message TEXT DEFAULT '' NOT NULL,
  265. PRIMARY KEY (draft_id)
  266. );
  267. CREATE INDEX phpbb_drafts_save_time ON phpbb_drafts (save_time);
  268. /*
  269. Table: 'phpbb_extensions'
  270. */
  271. CREATE SEQUENCE phpbb_extensions_seq;
  272. CREATE TABLE phpbb_extensions (
  273. extension_id INT4 DEFAULT nextval('phpbb_extensions_seq'),
  274. group_id INT4 DEFAULT '0' NOT NULL CHECK (group_id >= 0),
  275. extension varchar(100) DEFAULT '' NOT NULL,
  276. PRIMARY KEY (extension_id)
  277. );
  278. /*
  279. Table: 'phpbb_extension_groups'
  280. */
  281. CREATE SEQUENCE phpbb_extension_groups_seq;
  282. CREATE TABLE phpbb_extension_groups (
  283. group_id INT4 DEFAULT nextval('phpbb_extension_groups_seq'),
  284. group_name varchar(255) DEFAULT '' NOT NULL,
  285. cat_id INT2 DEFAULT '0' NOT NULL,
  286. allow_group INT2 DEFAULT '0' NOT NULL CHECK (allow_group >= 0),
  287. download_mode INT2 DEFAULT '1' NOT NULL CHECK (download_mode >= 0),
  288. upload_icon varchar(255) DEFAULT '' NOT NULL,
  289. max_filesize INT4 DEFAULT '0' NOT NULL CHECK (max_filesize >= 0),
  290. allowed_forums varchar(8000) DEFAULT '' NOT NULL,
  291. allow_in_pm INT2 DEFAULT '0' NOT NULL CHECK (allow_in_pm >= 0),
  292. PRIMARY KEY (group_id)
  293. );
  294. /*
  295. Table: 'phpbb_forums'
  296. */
  297. CREATE SEQUENCE phpbb_forums_seq;
  298. CREATE TABLE phpbb_forums (
  299. forum_id INT4 DEFAULT nextval('phpbb_forums_seq'),
  300. parent_id INT4 DEFAULT '0' NOT NULL CHECK (parent_id >= 0),
  301. left_id INT4 DEFAULT '0' NOT NULL CHECK (left_id >= 0),
  302. right_id INT4 DEFAULT '0' NOT NULL CHECK (right_id >= 0),
  303. forum_parents TEXT DEFAULT '' NOT NULL,
  304. forum_name varchar(255) DEFAULT '' NOT NULL,
  305. forum_desc varchar(4000) DEFAULT '' NOT NULL,
  306. forum_desc_bitfield varchar(255) DEFAULT '' NOT NULL,
  307. forum_desc_options INT4 DEFAULT '7' NOT NULL CHECK (forum_desc_options >= 0),
  308. forum_desc_uid varchar(8) DEFAULT '' NOT NULL,
  309. forum_link varchar(255) DEFAULT '' NOT NULL,
  310. forum_password varchar(40) DEFAULT '' NOT NULL,
  311. forum_style INT4 DEFAULT '0' NOT NULL CHECK (forum_style >= 0),
  312. forum_image varchar(255) DEFAULT '' NOT NULL,
  313. forum_rules varchar(4000) DEFAULT '' NOT NULL,
  314. forum_rules_link varchar(255) DEFAULT '' NOT NULL,
  315. forum_rules_bitfield varchar(255) DEFAULT '' NOT NULL,
  316. forum_rules_options INT4 DEFAULT '7' NOT NULL CHECK (forum_rules_options >= 0),
  317. forum_rules_uid varchar(8) DEFAULT '' NOT NULL,
  318. forum_topics_per_page INT2 DEFAULT '0' NOT NULL,
  319. forum_type INT2 DEFAULT '0' NOT NULL,
  320. forum_status INT2 DEFAULT '0' NOT NULL,
  321. forum_posts INT4 DEFAULT '0' NOT NULL CHECK (forum_posts >= 0),
  322. forum_topics INT4 DEFAULT '0' NOT NULL CHECK (forum_topics >= 0),
  323. forum_topics_real INT4 DEFAULT '0' NOT NULL CHECK (forum_topics_real >= 0),
  324. forum_last_post_id INT4 DEFAULT '0' NOT NULL CHECK (forum_last_post_id >= 0),
  325. forum_last_poster_id INT4 DEFAULT '0' NOT NULL CHECK (forum_last_poster_id >= 0),
  326. forum_last_post_subject varchar(255) DEFAULT '' NOT NULL,
  327. forum_last_post_time INT4 DEFAULT '0' NOT NULL CHECK (forum_last_post_time >= 0),
  328. forum_last_poster_name varchar(255) DEFAULT '' NOT NULL,
  329. forum_last_poster_colour varchar(6) DEFAULT '' NOT NULL,
  330. forum_flags INT2 DEFAULT '32' NOT NULL,
  331. forum_options INT4 DEFAULT '0' NOT NULL CHECK (forum_options >= 0),
  332. display_subforum_list INT2 DEFAULT '1' NOT NULL CHECK (display_subforum_list >= 0),
  333. display_on_index INT2 DEFAULT '1' NOT NULL CHECK (display_on_index >= 0),
  334. enable_indexing INT2 DEFAULT '1' NOT NULL CHECK (enable_indexing >= 0),
  335. enable_icons INT2 DEFAULT '1' NOT NULL CHECK (enable_icons >= 0),
  336. enable_prune INT2 DEFAULT '0' NOT NULL CHECK (enable_prune >= 0),
  337. prune_next INT4 DEFAULT '0' NOT NULL CHECK (prune_next >= 0),
  338. prune_days INT4 DEFAULT '0' NOT NULL CHECK (prune_days >= 0),
  339. prune_viewed INT4 DEFAULT '0' NOT NULL CHECK (prune_viewed >= 0),
  340. prune_freq INT4 DEFAULT '0' NOT NULL CHECK (prune_freq >= 0),
  341. PRIMARY KEY (forum_id)
  342. );
  343. CREATE INDEX phpbb_forums_left_right_id ON phpbb_forums (left_id, right_id);
  344. CREATE INDEX phpbb_forums_forum_lastpost_id ON phpbb_forums (forum_last_post_id);
  345. /*
  346. Table: 'phpbb_forums_access'
  347. */
  348. CREATE TABLE phpbb_forums_access (
  349. forum_id INT4 DEFAULT '0' NOT NULL CHECK (forum_id >= 0),
  350. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  351. session_id char(32) DEFAULT '' NOT NULL,
  352. PRIMARY KEY (forum_id, user_id, session_id)
  353. );
  354. /*
  355. Table: 'phpbb_forums_track'
  356. */
  357. CREATE TABLE phpbb_forums_track (
  358. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  359. forum_id INT4 DEFAULT '0' NOT NULL CHECK (forum_id >= 0),
  360. mark_time INT4 DEFAULT '0' NOT NULL CHECK (mark_time >= 0),
  361. PRIMARY KEY (user_id, forum_id)
  362. );
  363. /*
  364. Table: 'phpbb_forums_watch'
  365. */
  366. CREATE TABLE phpbb_forums_watch (
  367. forum_id INT4 DEFAULT '0' NOT NULL CHECK (forum_id >= 0),
  368. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  369. notify_status INT2 DEFAULT '0' NOT NULL CHECK (notify_status >= 0)
  370. );
  371. CREATE INDEX phpbb_forums_watch_forum_id ON phpbb_forums_watch (forum_id);
  372. CREATE INDEX phpbb_forums_watch_user_id ON phpbb_forums_watch (user_id);
  373. CREATE INDEX phpbb_forums_watch_notify_stat ON phpbb_forums_watch (notify_status);
  374. /*
  375. Table: 'phpbb_groups'
  376. */
  377. CREATE SEQUENCE phpbb_groups_seq;
  378. CREATE TABLE phpbb_groups (
  379. group_id INT4 DEFAULT nextval('phpbb_groups_seq'),
  380. group_type INT2 DEFAULT '1' NOT NULL,
  381. group_founder_manage INT2 DEFAULT '0' NOT NULL CHECK (group_founder_manage >= 0),
  382. group_skip_auth INT2 DEFAULT '0' NOT NULL CHECK (group_skip_auth >= 0),
  383. group_name varchar_ci DEFAULT '' NOT NULL,
  384. group_desc varchar(4000) DEFAULT '' NOT NULL,
  385. group_desc_bitfield varchar(255) DEFAULT '' NOT NULL,
  386. group_desc_options INT4 DEFAULT '7' NOT NULL CHECK (group_desc_options >= 0),
  387. group_desc_uid varchar(8) DEFAULT '' NOT NULL,
  388. group_display INT2 DEFAULT '0' NOT NULL CHECK (group_display >= 0),
  389. group_avatar varchar(255) DEFAULT '' NOT NULL,
  390. group_avatar_type INT2 DEFAULT '0' NOT NULL,
  391. group_avatar_width INT2 DEFAULT '0' NOT NULL CHECK (group_avatar_width >= 0),
  392. group_avatar_height INT2 DEFAULT '0' NOT NULL CHECK (group_avatar_height >= 0),
  393. group_rank INT4 DEFAULT '0' NOT NULL CHECK (group_rank >= 0),
  394. group_colour varchar(6) DEFAULT '' NOT NULL,
  395. group_sig_chars INT4 DEFAULT '0' NOT NULL CHECK (group_sig_chars >= 0),
  396. group_receive_pm INT2 DEFAULT '0' NOT NULL CHECK (group_receive_pm >= 0),
  397. group_message_limit INT4 DEFAULT '0' NOT NULL CHECK (group_message_limit >= 0),
  398. group_max_recipients INT4 DEFAULT '0' NOT NULL CHECK (group_max_recipients >= 0),
  399. group_legend INT2 DEFAULT '1' NOT NULL CHECK (group_legend >= 0),
  400. PRIMARY KEY (group_id)
  401. );
  402. CREATE INDEX phpbb_groups_group_legend_name ON phpbb_groups (group_legend, group_name);
  403. /*
  404. Table: 'phpbb_icons'
  405. */
  406. CREATE SEQUENCE phpbb_icons_seq;
  407. CREATE TABLE phpbb_icons (
  408. icons_id INT4 DEFAULT nextval('phpbb_icons_seq'),
  409. icons_url varchar(255) DEFAULT '' NOT NULL,
  410. icons_width INT2 DEFAULT '0' NOT NULL,
  411. icons_height INT2 DEFAULT '0' NOT NULL,
  412. icons_order INT4 DEFAULT '0' NOT NULL CHECK (icons_order >= 0),
  413. display_on_posting INT2 DEFAULT '1' NOT NULL CHECK (display_on_posting >= 0),
  414. PRIMARY KEY (icons_id)
  415. );
  416. CREATE INDEX phpbb_icons_display_on_posting ON phpbb_icons (display_on_posting);
  417. /*
  418. Table: 'phpbb_lang'
  419. */
  420. CREATE SEQUENCE phpbb_lang_seq;
  421. CREATE TABLE phpbb_lang (
  422. lang_id INT2 DEFAULT nextval('phpbb_lang_seq'),
  423. lang_iso varchar(30) DEFAULT '' NOT NULL,
  424. lang_dir varchar(30) DEFAULT '' NOT NULL,
  425. lang_english_name varchar(100) DEFAULT '' NOT NULL,
  426. lang_local_name varchar(255) DEFAULT '' NOT NULL,
  427. lang_author varchar(255) DEFAULT '' NOT NULL,
  428. PRIMARY KEY (lang_id)
  429. );
  430. CREATE INDEX phpbb_lang_lang_iso ON phpbb_lang (lang_iso);
  431. /*
  432. Table: 'phpbb_log'
  433. */
  434. CREATE SEQUENCE phpbb_log_seq;
  435. CREATE TABLE phpbb_log (
  436. log_id INT4 DEFAULT nextval('phpbb_log_seq'),
  437. log_type INT2 DEFAULT '0' NOT NULL,
  438. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  439. forum_id INT4 DEFAULT '0' NOT NULL CHECK (forum_id >= 0),
  440. topic_id INT4 DEFAULT '0' NOT NULL CHECK (topic_id >= 0),
  441. reportee_id INT4 DEFAULT '0' NOT NULL CHECK (reportee_id >= 0),
  442. log_ip varchar(40) DEFAULT '' NOT NULL,
  443. log_time INT4 DEFAULT '0' NOT NULL CHECK (log_time >= 0),
  444. log_operation varchar(4000) DEFAULT '' NOT NULL,
  445. log_data TEXT DEFAULT '' NOT NULL,
  446. PRIMARY KEY (log_id)
  447. );
  448. CREATE INDEX phpbb_log_log_type ON phpbb_log (log_type);
  449. CREATE INDEX phpbb_log_forum_id ON phpbb_log (forum_id);
  450. CREATE INDEX phpbb_log_topic_id ON phpbb_log (topic_id);
  451. CREATE INDEX phpbb_log_reportee_id ON phpbb_log (reportee_id);
  452. CREATE INDEX phpbb_log_user_id ON phpbb_log (user_id);
  453. /*
  454. Table: 'phpbb_login_attempts'
  455. */
  456. CREATE TABLE phpbb_login_attempts (
  457. attempt_ip varchar(40) DEFAULT '' NOT NULL,
  458. attempt_browser varchar(150) DEFAULT '' NOT NULL,
  459. attempt_forwarded_for varchar(255) DEFAULT '' NOT NULL,
  460. attempt_time INT4 DEFAULT '0' NOT NULL CHECK (attempt_time >= 0),
  461. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  462. username varchar(255) DEFAULT '0' NOT NULL,
  463. username_clean varchar_ci DEFAULT '0' NOT NULL
  464. );
  465. CREATE INDEX phpbb_login_attempts_att_ip ON phpbb_login_attempts (attempt_ip, attempt_time);
  466. CREATE INDEX phpbb_login_attempts_att_for ON phpbb_login_attempts (attempt_forwarded_for, attempt_time);
  467. CREATE INDEX phpbb_login_attempts_att_time ON phpbb_login_attempts (attempt_time);
  468. CREATE INDEX phpbb_login_attempts_user_id ON phpbb_login_attempts (user_id);
  469. /*
  470. Table: 'phpbb_moderator_cache'
  471. */
  472. CREATE TABLE phpbb_moderator_cache (
  473. forum_id INT4 DEFAULT '0' NOT NULL CHECK (forum_id >= 0),
  474. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  475. username varchar(255) DEFAULT '' NOT NULL,
  476. group_id INT4 DEFAULT '0' NOT NULL CHECK (group_id >= 0),
  477. group_name varchar(255) DEFAULT '' NOT NULL,
  478. display_on_index INT2 DEFAULT '1' NOT NULL CHECK (display_on_index >= 0)
  479. );
  480. CREATE INDEX phpbb_moderator_cache_disp_idx ON phpbb_moderator_cache (display_on_index);
  481. CREATE INDEX phpbb_moderator_cache_forum_id ON phpbb_moderator_cache (forum_id);
  482. /*
  483. Table: 'phpbb_modules'
  484. */
  485. CREATE SEQUENCE phpbb_modules_seq;
  486. CREATE TABLE phpbb_modules (
  487. module_id INT4 DEFAULT nextval('phpbb_modules_seq'),
  488. module_enabled INT2 DEFAULT '1' NOT NULL CHECK (module_enabled >= 0),
  489. module_display INT2 DEFAULT '1' NOT NULL CHECK (module_display >= 0),
  490. module_basename varchar(255) DEFAULT '' NOT NULL,
  491. module_class varchar(10) DEFAULT '' NOT NULL,
  492. parent_id INT4 DEFAULT '0' NOT NULL CHECK (parent_id >= 0),
  493. left_id INT4 DEFAULT '0' NOT NULL CHECK (left_id >= 0),
  494. right_id INT4 DEFAULT '0' NOT NULL CHECK (right_id >= 0),
  495. module_langname varchar(255) DEFAULT '' NOT NULL,
  496. module_mode varchar(255) DEFAULT '' NOT NULL,
  497. module_auth varchar(255) DEFAULT '' NOT NULL,
  498. PRIMARY KEY (module_id)
  499. );
  500. CREATE INDEX phpbb_modules_left_right_id ON phpbb_modules (left_id, right_id);
  501. CREATE INDEX phpbb_modules_module_enabled ON phpbb_modules (module_enabled);
  502. CREATE INDEX phpbb_modules_class_left_id ON phpbb_modules (module_class, left_id);
  503. /*
  504. Table: 'phpbb_poll_options'
  505. */
  506. CREATE TABLE phpbb_poll_options (
  507. poll_option_id INT2 DEFAULT '0' NOT NULL,
  508. topic_id INT4 DEFAULT '0' NOT NULL CHECK (topic_id >= 0),
  509. poll_option_text varchar(4000) DEFAULT '' NOT NULL,
  510. poll_option_total INT4 DEFAULT '0' NOT NULL CHECK (poll_option_total >= 0)
  511. );
  512. CREATE INDEX phpbb_poll_options_poll_opt_id ON phpbb_poll_options (poll_option_id);
  513. CREATE INDEX phpbb_poll_options_topic_id ON phpbb_poll_options (topic_id);
  514. /*
  515. Table: 'phpbb_poll_votes'
  516. */
  517. CREATE TABLE phpbb_poll_votes (
  518. topic_id INT4 DEFAULT '0' NOT NULL CHECK (topic_id >= 0),
  519. poll_option_id INT2 DEFAULT '0' NOT NULL,
  520. vote_user_id INT4 DEFAULT '0' NOT NULL CHECK (vote_user_id >= 0),
  521. vote_user_ip varchar(40) DEFAULT '' NOT NULL
  522. );
  523. CREATE INDEX phpbb_poll_votes_topic_id ON phpbb_poll_votes (topic_id);
  524. CREATE INDEX phpbb_poll_votes_vote_user_id ON phpbb_poll_votes (vote_user_id);
  525. CREATE INDEX phpbb_poll_votes_vote_user_ip ON phpbb_poll_votes (vote_user_ip);
  526. /*
  527. Table: 'phpbb_posts'
  528. */
  529. CREATE SEQUENCE phpbb_posts_seq;
  530. CREATE TABLE phpbb_posts (
  531. post_id INT4 DEFAULT nextval('phpbb_posts_seq'),
  532. topic_id INT4 DEFAULT '0' NOT NULL CHECK (topic_id >= 0),
  533. forum_id INT4 DEFAULT '0' NOT NULL CHECK (forum_id >= 0),
  534. poster_id INT4 DEFAULT '0' NOT NULL CHECK (poster_id >= 0),
  535. icon_id INT4 DEFAULT '0' NOT NULL CHECK (icon_id >= 0),
  536. poster_ip varchar(40) DEFAULT '' NOT NULL,
  537. post_time INT4 DEFAULT '0' NOT NULL CHECK (post_time >= 0),
  538. post_approved INT2 DEFAULT '1' NOT NULL CHECK (post_approved >= 0),
  539. post_reported INT2 DEFAULT '0' NOT NULL CHECK (post_reported >= 0),
  540. enable_bbcode INT2 DEFAULT '1' NOT NULL CHECK (enable_bbcode >= 0),
  541. enable_smilies INT2 DEFAULT '1' NOT NULL CHECK (enable_smilies >= 0),
  542. enable_magic_url INT2 DEFAULT '1' NOT NULL CHECK (enable_magic_url >= 0),
  543. enable_sig INT2 DEFAULT '1' NOT NULL CHECK (enable_sig >= 0),
  544. post_username varchar(255) DEFAULT '' NOT NULL,
  545. post_subject varchar(255) DEFAULT '' NOT NULL,
  546. post_text TEXT DEFAULT '' NOT NULL,
  547. post_checksum varchar(32) DEFAULT '' NOT NULL,
  548. post_attachment INT2 DEFAULT '0' NOT NULL CHECK (post_attachment >= 0),
  549. bbcode_bitfield varchar(255) DEFAULT '' NOT NULL,
  550. bbcode_uid varchar(8) DEFAULT '' NOT NULL,
  551. post_postcount INT2 DEFAULT '1' NOT NULL CHECK (post_postcount >= 0),
  552. post_edit_time INT4 DEFAULT '0' NOT NULL CHECK (post_edit_time >= 0),
  553. post_edit_reason varchar(255) DEFAULT '' NOT NULL,
  554. post_edit_user INT4 DEFAULT '0' NOT NULL CHECK (post_edit_user >= 0),
  555. post_edit_count INT2 DEFAULT '0' NOT NULL CHECK (post_edit_count >= 0),
  556. post_edit_locked INT2 DEFAULT '0' NOT NULL CHECK (post_edit_locked >= 0),
  557. PRIMARY KEY (post_id)
  558. );
  559. CREATE INDEX phpbb_posts_forum_id ON phpbb_posts (forum_id);
  560. CREATE INDEX phpbb_posts_topic_id ON phpbb_posts (topic_id);
  561. CREATE INDEX phpbb_posts_poster_ip ON phpbb_posts (poster_ip);
  562. CREATE INDEX phpbb_posts_poster_id ON phpbb_posts (poster_id);
  563. CREATE INDEX phpbb_posts_post_approved ON phpbb_posts (post_approved);
  564. CREATE INDEX phpbb_posts_post_username ON phpbb_posts (post_username);
  565. CREATE INDEX phpbb_posts_tid_post_time ON phpbb_posts (topic_id, post_time);
  566. /*
  567. Table: 'phpbb_privmsgs'
  568. */
  569. CREATE SEQUENCE phpbb_privmsgs_seq;
  570. CREATE TABLE phpbb_privmsgs (
  571. msg_id INT4 DEFAULT nextval('phpbb_privmsgs_seq'),
  572. root_level INT4 DEFAULT '0' NOT NULL CHECK (root_level >= 0),
  573. author_id INT4 DEFAULT '0' NOT NULL CHECK (author_id >= 0),
  574. icon_id INT4 DEFAULT '0' NOT NULL CHECK (icon_id >= 0),
  575. author_ip varchar(40) DEFAULT '' NOT NULL,
  576. message_time INT4 DEFAULT '0' NOT NULL CHECK (message_time >= 0),
  577. enable_bbcode INT2 DEFAULT '1' NOT NULL CHECK (enable_bbcode >= 0),
  578. enable_smilies INT2 DEFAULT '1' NOT NULL CHECK (enable_smilies >= 0),
  579. enable_magic_url INT2 DEFAULT '1' NOT NULL CHECK (enable_magic_url >= 0),
  580. enable_sig INT2 DEFAULT '1' NOT NULL CHECK (enable_sig >= 0),
  581. message_subject varchar(255) DEFAULT '' NOT NULL,
  582. message_text TEXT DEFAULT '' NOT NULL,
  583. message_edit_reason varchar(255) DEFAULT '' NOT NULL,
  584. message_edit_user INT4 DEFAULT '0' NOT NULL CHECK (message_edit_user >= 0),
  585. message_attachment INT2 DEFAULT '0' NOT NULL CHECK (message_attachment >= 0),
  586. bbcode_bitfield varchar(255) DEFAULT '' NOT NULL,
  587. bbcode_uid varchar(8) DEFAULT '' NOT NULL,
  588. message_edit_time INT4 DEFAULT '0' NOT NULL CHECK (message_edit_time >= 0),
  589. message_edit_count INT2 DEFAULT '0' NOT NULL CHECK (message_edit_count >= 0),
  590. to_address varchar(4000) DEFAULT '' NOT NULL,
  591. bcc_address varchar(4000) DEFAULT '' NOT NULL,
  592. message_reported INT2 DEFAULT '0' NOT NULL CHECK (message_reported >= 0),
  593. PRIMARY KEY (msg_id)
  594. );
  595. CREATE INDEX phpbb_privmsgs_author_ip ON phpbb_privmsgs (author_ip);
  596. CREATE INDEX phpbb_privmsgs_message_time ON phpbb_privmsgs (message_time);
  597. CREATE INDEX phpbb_privmsgs_author_id ON phpbb_privmsgs (author_id);
  598. CREATE INDEX phpbb_privmsgs_root_level ON phpbb_privmsgs (root_level);
  599. /*
  600. Table: 'phpbb_privmsgs_folder'
  601. */
  602. CREATE SEQUENCE phpbb_privmsgs_folder_seq;
  603. CREATE TABLE phpbb_privmsgs_folder (
  604. folder_id INT4 DEFAULT nextval('phpbb_privmsgs_folder_seq'),
  605. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  606. folder_name varchar(255) DEFAULT '' NOT NULL,
  607. pm_count INT4 DEFAULT '0' NOT NULL CHECK (pm_count >= 0),
  608. PRIMARY KEY (folder_id)
  609. );
  610. CREATE INDEX phpbb_privmsgs_folder_user_id ON phpbb_privmsgs_folder (user_id);
  611. /*
  612. Table: 'phpbb_privmsgs_rules'
  613. */
  614. CREATE SEQUENCE phpbb_privmsgs_rules_seq;
  615. CREATE TABLE phpbb_privmsgs_rules (
  616. rule_id INT4 DEFAULT nextval('phpbb_privmsgs_rules_seq'),
  617. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  618. rule_check INT4 DEFAULT '0' NOT NULL CHECK (rule_check >= 0),
  619. rule_connection INT4 DEFAULT '0' NOT NULL CHECK (rule_connection >= 0),
  620. rule_string varchar(255) DEFAULT '' NOT NULL,
  621. rule_user_id INT4 DEFAULT '0' NOT NULL CHECK (rule_user_id >= 0),
  622. rule_group_id INT4 DEFAULT '0' NOT NULL CHECK (rule_group_id >= 0),
  623. rule_action INT4 DEFAULT '0' NOT NULL CHECK (rule_action >= 0),
  624. rule_folder_id INT4 DEFAULT '0' NOT NULL,
  625. PRIMARY KEY (rule_id)
  626. );
  627. CREATE INDEX phpbb_privmsgs_rules_user_id ON phpbb_privmsgs_rules (user_id);
  628. /*
  629. Table: 'phpbb_privmsgs_to'
  630. */
  631. CREATE TABLE phpbb_privmsgs_to (
  632. msg_id INT4 DEFAULT '0' NOT NULL CHECK (msg_id >= 0),
  633. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  634. author_id INT4 DEFAULT '0' NOT NULL CHECK (author_id >= 0),
  635. pm_deleted INT2 DEFAULT '0' NOT NULL CHECK (pm_deleted >= 0),
  636. pm_new INT2 DEFAULT '1' NOT NULL CHECK (pm_new >= 0),
  637. pm_unread INT2 DEFAULT '1' NOT NULL CHECK (pm_unread >= 0),
  638. pm_replied INT2 DEFAULT '0' NOT NULL CHECK (pm_replied >= 0),
  639. pm_marked INT2 DEFAULT '0' NOT NULL CHECK (pm_marked >= 0),
  640. pm_forwarded INT2 DEFAULT '0' NOT NULL CHECK (pm_forwarded >= 0),
  641. folder_id INT4 DEFAULT '0' NOT NULL
  642. );
  643. CREATE INDEX phpbb_privmsgs_to_msg_id ON phpbb_privmsgs_to (msg_id);
  644. CREATE INDEX phpbb_privmsgs_to_author_id ON phpbb_privmsgs_to (author_id);
  645. CREATE INDEX phpbb_privmsgs_to_usr_flder_id ON phpbb_privmsgs_to (user_id, folder_id);
  646. /*
  647. Table: 'phpbb_profile_fields'
  648. */
  649. CREATE SEQUENCE phpbb_profile_fields_seq;
  650. CREATE TABLE phpbb_profile_fields (
  651. field_id INT4 DEFAULT nextval('phpbb_profile_fields_seq'),
  652. field_name varchar(255) DEFAULT '' NOT NULL,
  653. field_type INT2 DEFAULT '0' NOT NULL,
  654. field_ident varchar(20) DEFAULT '' NOT NULL,
  655. field_length varchar(20) DEFAULT '' NOT NULL,
  656. field_minlen varchar(255) DEFAULT '' NOT NULL,
  657. field_maxlen varchar(255) DEFAULT '' NOT NULL,
  658. field_novalue varchar(255) DEFAULT '' NOT NULL,
  659. field_default_value varchar(255) DEFAULT '' NOT NULL,
  660. field_validation varchar(20) DEFAULT '' NOT NULL,
  661. field_required INT2 DEFAULT '0' NOT NULL CHECK (field_required >= 0),
  662. field_show_on_reg INT2 DEFAULT '0' NOT NULL CHECK (field_show_on_reg >= 0),
  663. field_show_on_vt INT2 DEFAULT '0' NOT NULL CHECK (field_show_on_vt >= 0),
  664. field_show_profile INT2 DEFAULT '0' NOT NULL CHECK (field_show_profile >= 0),
  665. field_hide INT2 DEFAULT '0' NOT NULL CHECK (field_hide >= 0),
  666. field_no_view INT2 DEFAULT '0' NOT NULL CHECK (field_no_view >= 0),
  667. field_active INT2 DEFAULT '0' NOT NULL CHECK (field_active >= 0),
  668. field_order INT4 DEFAULT '0' NOT NULL CHECK (field_order >= 0),
  669. PRIMARY KEY (field_id)
  670. );
  671. CREATE INDEX phpbb_profile_fields_fld_type ON phpbb_profile_fields (field_type);
  672. CREATE INDEX phpbb_profile_fields_fld_ordr ON phpbb_profile_fields (field_order);
  673. /*
  674. Table: 'phpbb_profile_fields_data'
  675. */
  676. CREATE TABLE phpbb_profile_fields_data (
  677. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  678. PRIMARY KEY (user_id)
  679. );
  680. /*
  681. Table: 'phpbb_profile_fields_lang'
  682. */
  683. CREATE TABLE phpbb_profile_fields_lang (
  684. field_id INT4 DEFAULT '0' NOT NULL CHECK (field_id >= 0),
  685. lang_id INT4 DEFAULT '0' NOT NULL CHECK (lang_id >= 0),
  686. option_id INT4 DEFAULT '0' NOT NULL CHECK (option_id >= 0),
  687. field_type INT2 DEFAULT '0' NOT NULL,
  688. lang_value varchar(255) DEFAULT '' NOT NULL,
  689. PRIMARY KEY (field_id, lang_id, option_id)
  690. );
  691. /*
  692. Table: 'phpbb_profile_lang'
  693. */
  694. CREATE TABLE phpbb_profile_lang (
  695. field_id INT4 DEFAULT '0' NOT NULL CHECK (field_id >= 0),
  696. lang_id INT4 DEFAULT '0' NOT NULL CHECK (lang_id >= 0),
  697. lang_name varchar(255) DEFAULT '' NOT NULL,
  698. lang_explain varchar(4000) DEFAULT '' NOT NULL,
  699. lang_default_value varchar(255) DEFAULT '' NOT NULL,
  700. PRIMARY KEY (field_id, lang_id)
  701. );
  702. /*
  703. Table: 'phpbb_ranks'
  704. */
  705. CREATE SEQUENCE phpbb_ranks_seq;
  706. CREATE TABLE phpbb_ranks (
  707. rank_id INT4 DEFAULT nextval('phpbb_ranks_seq'),
  708. rank_title varchar(255) DEFAULT '' NOT NULL,
  709. rank_min INT4 DEFAULT '0' NOT NULL CHECK (rank_min >= 0),
  710. rank_special INT2 DEFAULT '0' NOT NULL CHECK (rank_special >= 0),
  711. rank_image varchar(255) DEFAULT '' NOT NULL,
  712. PRIMARY KEY (rank_id)
  713. );
  714. /*
  715. Table: 'phpbb_reports'
  716. */
  717. CREATE SEQUENCE phpbb_reports_seq;
  718. CREATE TABLE phpbb_reports (
  719. report_id INT4 DEFAULT nextval('phpbb_reports_seq'),
  720. reason_id INT2 DEFAULT '0' NOT NULL CHECK (reason_id >= 0),
  721. post_id INT4 DEFAULT '0' NOT NULL CHECK (post_id >= 0),
  722. pm_id INT4 DEFAULT '0' NOT NULL CHECK (pm_id >= 0),
  723. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  724. user_notify INT2 DEFAULT '0' NOT NULL CHECK (user_notify >= 0),
  725. report_closed INT2 DEFAULT '0' NOT NULL CHECK (report_closed >= 0),
  726. report_time INT4 DEFAULT '0' NOT NULL CHECK (report_time >= 0),
  727. report_text TEXT DEFAULT '' NOT NULL,
  728. PRIMARY KEY (report_id)
  729. );
  730. CREATE INDEX phpbb_reports_post_id ON phpbb_reports (post_id);
  731. CREATE INDEX phpbb_reports_pm_id ON phpbb_reports (pm_id);
  732. /*
  733. Table: 'phpbb_reports_reasons'
  734. */
  735. CREATE SEQUENCE phpbb_reports_reasons_seq;
  736. CREATE TABLE phpbb_reports_reasons (
  737. reason_id INT2 DEFAULT nextval('phpbb_reports_reasons_seq'),
  738. reason_title varchar(255) DEFAULT '' NOT NULL,
  739. reason_description TEXT DEFAULT '' NOT NULL,
  740. reason_order INT2 DEFAULT '0' NOT NULL CHECK (reason_order >= 0),
  741. PRIMARY KEY (reason_id)
  742. );
  743. /*
  744. Table: 'phpbb_search_results'
  745. */
  746. CREATE TABLE phpbb_search_results (
  747. search_key varchar(32) DEFAULT '' NOT NULL,
  748. search_time INT4 DEFAULT '0' NOT NULL CHECK (search_time >= 0),
  749. search_keywords TEXT DEFAULT '' NOT NULL,
  750. search_authors TEXT DEFAULT '' NOT NULL,
  751. PRIMARY KEY (search_key)
  752. );
  753. /*
  754. Table: 'phpbb_search_wordlist'
  755. */
  756. CREATE SEQUENCE phpbb_search_wordlist_seq;
  757. CREATE TABLE phpbb_search_wordlist (
  758. word_id INT4 DEFAULT nextval('phpbb_search_wordlist_seq'),
  759. word_text varchar(255) DEFAULT '' NOT NULL,
  760. word_common INT2 DEFAULT '0' NOT NULL CHECK (word_common >= 0),
  761. word_count INT4 DEFAULT '0' NOT NULL CHECK (word_count >= 0),
  762. PRIMARY KEY (word_id)
  763. );
  764. CREATE UNIQUE INDEX phpbb_search_wordlist_wrd_txt ON phpbb_search_wordlist (word_text);
  765. CREATE INDEX phpbb_search_wordlist_wrd_cnt ON phpbb_search_wordlist (word_count);
  766. /*
  767. Table: 'phpbb_search_wordmatch'
  768. */
  769. CREATE TABLE phpbb_search_wordmatch (
  770. post_id INT4 DEFAULT '0' NOT NULL CHECK (post_id >= 0),
  771. word_id INT4 DEFAULT '0' NOT NULL CHECK (word_id >= 0),
  772. title_match INT2 DEFAULT '0' NOT NULL CHECK (title_match >= 0)
  773. );
  774. CREATE UNIQUE INDEX phpbb_search_wordmatch_unq_mtch ON phpbb_search_wordmatch (word_id, post_id, title_match);
  775. CREATE INDEX phpbb_search_wordmatch_word_id ON phpbb_search_wordmatch (word_id);
  776. CREATE INDEX phpbb_search_wordmatch_post_id ON phpbb_search_wordmatch (post_id);
  777. /*
  778. Table: 'phpbb_sessions'
  779. */
  780. CREATE TABLE phpbb_sessions (
  781. session_id char(32) DEFAULT '' NOT NULL,
  782. session_user_id INT4 DEFAULT '0' NOT NULL CHECK (session_user_id >= 0),
  783. session_forum_id INT4 DEFAULT '0' NOT NULL CHECK (session_forum_id >= 0),
  784. session_last_visit INT4 DEFAULT '0' NOT NULL CHECK (session_last_visit >= 0),
  785. session_start INT4 DEFAULT '0' NOT NULL CHECK (session_start >= 0),
  786. session_time INT4 DEFAULT '0' NOT NULL CHECK (session_time >= 0),
  787. session_ip varchar(40) DEFAULT '' NOT NULL,
  788. session_browser varchar(150) DEFAULT '' NOT NULL,
  789. session_forwarded_for varchar(255) DEFAULT '' NOT NULL,
  790. session_page varchar(255) DEFAULT '' NOT NULL,
  791. session_viewonline INT2 DEFAULT '1' NOT NULL CHECK (session_viewonline >= 0),
  792. session_autologin INT2 DEFAULT '0' NOT NULL CHECK (session_autologin >= 0),
  793. session_admin INT2 DEFAULT '0' NOT NULL CHECK (session_admin >= 0),
  794. PRIMARY KEY (session_id)
  795. );
  796. CREATE INDEX phpbb_sessions_session_time ON phpbb_sessions (session_time);
  797. CREATE INDEX phpbb_sessions_session_user_id ON phpbb_sessions (session_user_id);
  798. CREATE INDEX phpbb_sessions_session_fid ON phpbb_sessions (session_forum_id);
  799. /*
  800. Table: 'phpbb_sessions_keys'
  801. */
  802. CREATE TABLE phpbb_sessions_keys (
  803. key_id char(32) DEFAULT '' NOT NULL,
  804. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  805. last_ip varchar(40) DEFAULT '' NOT NULL,
  806. last_login INT4 DEFAULT '0' NOT NULL CHECK (last_login >= 0),
  807. PRIMARY KEY (key_id, user_id)
  808. );
  809. CREATE INDEX phpbb_sessions_keys_last_login ON phpbb_sessions_keys (last_login);
  810. /*
  811. Table: 'phpbb_sitelist'
  812. */
  813. CREATE SEQUENCE phpbb_sitelist_seq;
  814. CREATE TABLE phpbb_sitelist (
  815. site_id INT4 DEFAULT nextval('phpbb_sitelist_seq'),
  816. site_ip varchar(40) DEFAULT '' NOT NULL,
  817. site_hostname varchar(255) DEFAULT '' NOT NULL,
  818. ip_exclude INT2 DEFAULT '0' NOT NULL CHECK (ip_exclude >= 0),
  819. PRIMARY KEY (site_id)
  820. );
  821. /*
  822. Table: 'phpbb_smilies'
  823. */
  824. CREATE SEQUENCE phpbb_smilies_seq;
  825. CREATE TABLE phpbb_smilies (
  826. smiley_id INT4 DEFAULT nextval('phpbb_smilies_seq'),
  827. code varchar(50) DEFAULT '' NOT NULL,
  828. emotion varchar(50) DEFAULT '' NOT NULL,
  829. smiley_url varchar(50) DEFAULT '' NOT NULL,
  830. smiley_width INT2 DEFAULT '0' NOT NULL CHECK (smiley_width >= 0),
  831. smiley_height INT2 DEFAULT '0' NOT NULL CHECK (smiley_height >= 0),
  832. smiley_order INT4 DEFAULT '0' NOT NULL CHECK (smiley_order >= 0),
  833. display_on_posting INT2 DEFAULT '1' NOT NULL CHECK (display_on_posting >= 0),
  834. PRIMARY KEY (smiley_id)
  835. );
  836. CREATE INDEX phpbb_smilies_display_on_post ON phpbb_smilies (display_on_posting);
  837. /*
  838. Table: 'phpbb_styles'
  839. */
  840. CREATE SEQUENCE phpbb_styles_seq;
  841. CREATE TABLE phpbb_styles (
  842. style_id INT4 DEFAULT nextval('phpbb_styles_seq'),
  843. style_name varchar(255) DEFAULT '' NOT NULL,
  844. style_copyright varchar(255) DEFAULT '' NOT NULL,
  845. style_active INT2 DEFAULT '1' NOT NULL CHECK (style_active >= 0),
  846. template_id INT4 DEFAULT '0' NOT NULL CHECK (template_id >= 0),
  847. theme_id INT4 DEFAULT '0' NOT NULL CHECK (theme_id >= 0),
  848. imageset_id INT4 DEFAULT '0' NOT NULL CHECK (imageset_id >= 0),
  849. PRIMARY KEY (style_id)
  850. );
  851. CREATE UNIQUE INDEX phpbb_styles_style_name ON phpbb_styles (style_name);
  852. CREATE INDEX phpbb_styles_template_id ON phpbb_styles (template_id);
  853. CREATE INDEX phpbb_styles_theme_id ON phpbb_styles (theme_id);
  854. CREATE INDEX phpbb_styles_imageset_id ON phpbb_styles (imageset_id);
  855. /*
  856. Table: 'phpbb_styles_template'
  857. */
  858. CREATE SEQUENCE phpbb_styles_template_seq;
  859. CREATE TABLE phpbb_styles_template (
  860. template_id INT4 DEFAULT nextval('phpbb_styles_template_seq'),
  861. template_name varchar(255) DEFAULT '' NOT NULL,
  862. template_copyright varchar(255) DEFAULT '' NOT NULL,
  863. template_path varchar(100) DEFAULT '' NOT NULL,
  864. bbcode_bitfield varchar(255) DEFAULT 'kNg=' NOT NULL,
  865. template_storedb INT2 DEFAULT '0' NOT NULL CHECK (template_storedb >= 0),
  866. template_inherits_id INT4 DEFAULT '0' NOT NULL CHECK (template_inherits_id >= 0),
  867. template_inherit_path varchar(255) DEFAULT '' NOT NULL,
  868. PRIMARY KEY (template_id)
  869. );
  870. CREATE UNIQUE INDEX phpbb_styles_template_tmplte_nm ON phpbb_styles_template (template_name);
  871. /*
  872. Table: 'phpbb_styles_template_data'
  873. */
  874. CREATE TABLE phpbb_styles_template_data (
  875. template_id INT4 DEFAULT '0' NOT NULL CHECK (template_id >= 0),
  876. template_filename varchar(100) DEFAULT '' NOT NULL,
  877. template_included varchar(8000) DEFAULT '' NOT NULL,
  878. template_mtime INT4 DEFAULT '0' NOT NULL CHECK (template_mtime >= 0),
  879. template_data TEXT DEFAULT '' NOT NULL
  880. );
  881. CREATE INDEX phpbb_styles_template_data_tid ON phpbb_styles_template_data (template_id);
  882. CREATE INDEX phpbb_styles_template_data_tfn ON phpbb_styles_template_data (template_filename);
  883. /*
  884. Table: 'phpbb_styles_theme'
  885. */
  886. CREATE SEQUENCE phpbb_styles_theme_seq;
  887. CREATE TABLE phpbb_styles_theme (
  888. theme_id INT4 DEFAULT nextval('phpbb_styles_theme_seq'),
  889. theme_name varchar(255) DEFAULT '' NOT NULL,
  890. theme_copyright varchar(255) DEFAULT '' NOT NULL,
  891. theme_path varchar(100) DEFAULT '' NOT NULL,
  892. theme_storedb INT2 DEFAULT '0' NOT NULL CHECK (theme_storedb >= 0),
  893. theme_mtime INT4 DEFAULT '0' NOT NULL CHECK (theme_mtime >= 0),
  894. theme_data TEXT DEFAULT '' NOT NULL,
  895. PRIMARY KEY (theme_id)
  896. );
  897. CREATE UNIQUE INDEX phpbb_styles_theme_theme_name ON phpbb_styles_theme (theme_name);
  898. /*
  899. Table: 'phpbb_styles_imageset'
  900. */
  901. CREATE SEQUENCE phpbb_styles_imageset_seq;
  902. CREATE TABLE phpbb_styles_imageset (
  903. imageset_id INT4 DEFAULT nextval('phpbb_styles_imageset_seq'),
  904. imageset_name varchar(255) DEFAULT '' NOT NULL,
  905. imageset_copyright varchar(255) DEFAULT '' NOT NULL,
  906. imageset_path varchar(100) DEFAULT '' NOT NULL,
  907. PRIMARY KEY (imageset_id)
  908. );
  909. CREATE UNIQUE INDEX phpbb_styles_imageset_imgset_nm ON phpbb_styles_imageset (imageset_name);
  910. /*
  911. Table: 'phpbb_styles_imageset_data'
  912. */
  913. CREATE SEQUENCE phpbb_styles_imageset_data_seq;
  914. CREATE TABLE phpbb_styles_imageset_data (
  915. image_id INT4 DEFAULT nextval('phpbb_styles_imageset_data_seq'),
  916. image_name varchar(200) DEFAULT '' NOT NULL,
  917. image_filename varchar(200) DEFAULT '' NOT NULL,
  918. image_lang varchar(30) DEFAULT '' NOT NULL,
  919. image_height INT2 DEFAULT '0' NOT NULL CHECK (image_height >= 0),
  920. image_width INT2 DEFAULT '0' NOT NULL CHECK (image_width >= 0),
  921. imageset_id INT4 DEFAULT '0' NOT NULL CHECK (imageset_id >= 0),
  922. PRIMARY KEY (image_id)
  923. );
  924. CREATE INDEX phpbb_styles_imageset_data_i_d ON phpbb_styles_imageset_data (imageset_id);
  925. /*
  926. Table: 'phpbb_topics'
  927. */
  928. CREATE SEQUENCE phpbb_topics_seq;
  929. CREATE TABLE phpbb_topics (
  930. topic_id INT4 DEFAULT nextval('phpbb_topics_seq'),
  931. forum_id INT4 DEFAULT '0' NOT NULL CHECK (forum_id >= 0),
  932. icon_id INT4 DEFAULT '0' NOT NULL CHECK (icon_id >= 0),
  933. topic_attachment INT2 DEFAULT '0' NOT NULL CHECK (topic_attachment >= 0),
  934. topic_approved INT2 DEFAULT '1' NOT NULL CHECK (topic_approved >= 0),
  935. topic_reported INT2 DEFAULT '0' NOT NULL CHECK (topic_reported >= 0),
  936. topic_title varchar(255) DEFAULT '' NOT NULL,
  937. topic_poster INT4 DEFAULT '0' NOT NULL CHECK (topic_poster >= 0),
  938. topic_time INT4 DEFAULT '0' NOT NULL CHECK (topic_time >= 0),
  939. topic_time_limit INT4 DEFAULT '0' NOT NULL CHECK (topic_time_limit >= 0),
  940. topic_views INT4 DEFAULT '0' NOT NULL CHECK (topic_views >= 0),
  941. topic_replies INT4 DEFAULT '0' NOT NULL CHECK (topic_replies >= 0),
  942. topic_replies_real INT4 DEFAULT '0' NOT NULL CHECK (topic_replies_real >= 0),
  943. topic_status INT2 DEFAULT '0' NOT NULL,
  944. topic_type INT2 DEFAULT '0' NOT NULL,
  945. topic_first_post_id INT4 DEFAULT '0' NOT NULL CHECK (topic_first_post_id >= 0),
  946. topic_first_poster_name varchar(255) DEFAULT '' NOT NULL,
  947. topic_first_poster_colour varchar(6) DEFAULT '' NOT NULL,
  948. topic_last_post_id INT4 DEFAULT '0' NOT NULL CHECK (topic_last_post_id >= 0),
  949. topic_last_poster_id INT4 DEFAULT '0' NOT NULL CHECK (topic_last_poster_id >= 0),
  950. topic_last_poster_name varchar(255) DEFAULT '' NOT NULL,
  951. topic_last_poster_colour varchar(6) DEFAULT '' NOT NULL,
  952. topic_last_post_subject varchar(255) DEFAULT '' NOT NULL,
  953. topic_last_post_time INT4 DEFAULT '0' NOT NULL CHECK (topic_last_post_time >= 0),
  954. topic_last_view_time INT4 DEFAULT '0' NOT NULL CHECK (topic_last_view_time >= 0),
  955. topic_moved_id INT4 DEFAULT '0' NOT NULL CHECK (topic_moved_id >= 0),
  956. topic_bumped INT2 DEFAULT '0' NOT NULL CHECK (topic_bumped >= 0),
  957. topic_bumper INT4 DEFAULT '0' NOT NULL CHECK (topic_bumper >= 0),
  958. poll_title varchar(255) DEFAULT '' NOT NULL,
  959. poll_start INT4 DEFAULT '0' NOT NULL CHECK (poll_start >= 0),
  960. poll_length INT4 DEFAULT '0' NOT NULL CHECK (poll_length >= 0),
  961. poll_max_options INT2 DEFAULT '1' NOT NULL,
  962. poll_last_vote INT4 DEFAULT '0' NOT NULL CHECK (poll_last_vote >= 0),
  963. poll_vote_change INT2 DEFAULT '0' NOT NULL CHECK (poll_vote_change >= 0),
  964. PRIMARY KEY (topic_id)
  965. );
  966. CREATE INDEX phpbb_topics_forum_id ON phpbb_topics (forum_id);
  967. CREATE INDEX phpbb_topics_forum_id_type ON phpbb_topics (forum_id, topic_type);
  968. CREATE INDEX phpbb_topics_last_post_time ON phpbb_topics (topic_last_post_time);
  969. CREATE INDEX phpbb_topics_topic_approved ON phpbb_topics (topic_approved);
  970. CREATE INDEX phpbb_topics_forum_appr_last ON phpbb_topics (forum_id, topic_approved, topic_last_post_id);
  971. CREATE INDEX phpbb_topics_fid_time_moved ON phpbb_topics (forum_id, topic_last_post_time, topic_moved_id);
  972. /*
  973. Table: 'phpbb_topics_track'
  974. */
  975. CREATE TABLE phpbb_topics_track (
  976. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  977. topic_id INT4 DEFAULT '0' NOT NULL CHECK (topic_id >= 0),
  978. forum_id INT4 DEFAULT '0' NOT NULL CHECK (forum_id >= 0),
  979. mark_time INT4 DEFAULT '0' NOT NULL CHECK (mark_time >= 0),
  980. PRIMARY KEY (user_id, topic_id)
  981. );
  982. CREATE INDEX phpbb_topics_track_topic_id ON phpbb_topics_track (topic_id);
  983. CREATE INDEX phpbb_topics_track_forum_id ON phpbb_topics_track (forum_id);
  984. /*
  985. Table: 'phpbb_topics_posted'
  986. */
  987. CREATE TABLE phpbb_topics_posted (
  988. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  989. topic_id INT4 DEFAULT '0' NOT NULL CHECK (topic_id >= 0),
  990. topic_posted INT2 DEFAULT '0' NOT NULL CHECK (topic_posted >= 0),
  991. PRIMARY KEY (user_id, topic_id)
  992. );
  993. /*
  994. Table: 'phpbb_topics_watch'
  995. */
  996. CREATE TABLE phpbb_topics_watch (
  997. topic_id INT4 DEFAULT '0' NOT NULL CHECK (topic_id >= 0),
  998. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  999. notify_status INT2 DEFAULT '0' NOT NULL CHECK (notify_status >= 0)
  1000. );
  1001. CREATE INDEX phpbb_topics_watch_topic_id ON phpbb_topics_watch (topic_id);
  1002. CREATE INDEX phpbb_topics_watch_user_id ON phpbb_topics_watch (user_id);
  1003. CREATE INDEX phpbb_topics_watch_notify_stat ON phpbb_topics_watch (notify_status);
  1004. /*
  1005. Table: 'phpbb_user_group'
  1006. */
  1007. CREATE TABLE phpbb_user_group (
  1008. group_id INT4 DEFAULT '0' NOT NULL CHECK (group_id >= 0),
  1009. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  1010. group_leader INT2 DEFAULT '0' NOT NULL CHECK (group_leader >= 0),
  1011. user_pending INT2 DEFAULT '1' NOT NULL CHECK (user_pending >= 0)
  1012. );
  1013. CREATE INDEX phpbb_user_group_group_id ON phpbb_user_group (group_id);
  1014. CREATE INDEX phpbb_user_group_user_id ON phpbb_user_group (user_id);
  1015. CREATE INDEX phpbb_user_group_group_leader ON phpbb_user_group (group_leader);
  1016. /*
  1017. Table: 'phpbb_users'
  1018. */
  1019. CREATE SEQUENCE phpbb_users_seq;
  1020. CREATE TABLE phpbb_users (
  1021. user_id INT4 DEFAULT nextval('phpbb_users_seq'),
  1022. user_type INT2 DEFAULT '0' NOT NULL,
  1023. group_id INT4 DEFAULT '3' NOT NULL CHECK (group_id >= 0),
  1024. user_permissions TEXT DEFAULT '' NOT NULL,
  1025. user_perm_from INT4 DEFAULT '0' NOT NULL CHECK (user_perm_from >= 0),
  1026. user_ip varchar(40) DEFAULT '' NOT NULL,
  1027. user_regdate INT4 DEFAULT '0' NOT NULL CHECK (user_regdate >= 0),
  1028. username varchar_ci DEFAULT '' NOT NULL,
  1029. username_clean varchar_ci DEFAULT '' NOT NULL,
  1030. user_password varchar(40) DEFAULT '' NOT NULL,
  1031. user_passchg INT4 DEFAULT '0' NOT NULL CHECK (user_passchg >= 0),
  1032. user_pass_convert INT2 DEFAULT '0' NOT NULL CHECK (user_pass_convert >= 0),
  1033. user_email varchar(100) DEFAULT '' NOT NULL,
  1034. user_email_hash INT8 DEFAULT '0' NOT NULL,
  1035. user_birthday varchar(10) DEFAULT '' NOT NULL,
  1036. user_lastvisit INT4 DEFAULT '0' NOT NULL CHECK (user_lastvisit >= 0),
  1037. user_lastmark INT4 DEFAULT '0' NOT NULL CHECK (user_lastmark >= 0),
  1038. user_lastpost_time INT4 DEFAULT '0' NOT NULL CHECK (user_lastpost_time >= 0),
  1039. user_lastpage varchar(200) DEFAULT '' NOT NULL,
  1040. user_last_confirm_key varchar(10) DEFAULT '' NOT NULL,
  1041. user_last_search INT4 DEFAULT '0' NOT NULL CHECK (user_last_search >= 0),
  1042. user_warnings INT2 DEFAULT '0' NOT NULL,
  1043. user_last_warning INT4 DEFAULT '0' NOT NULL CHECK (user_last_warning >= 0),
  1044. user_login_attempts INT2 DEFAULT '0' NOT NULL,
  1045. user_inactive_reason INT2 DEFAULT '0' NOT NULL,
  1046. user_inactive_time INT4 DEFAULT '0' NOT NULL CHECK (user_inactive_time >= 0),
  1047. user_posts INT4 DEFAULT '0' NOT NULL CHECK (user_posts >= 0),
  1048. user_lang varchar(30) DEFAULT '' NOT NULL,
  1049. user_timezone decimal(5,2) DEFAULT '0' NOT NULL,
  1050. user_dst INT2 DEFAULT '0' NOT NULL CHECK (user_dst >= 0),
  1051. user_dateformat varchar(30) DEFAULT 'd M Y H:i' NOT NULL,
  1052. user_style INT4 DEFAULT '0' NOT NULL CHECK (user_style >= 0),
  1053. user_rank INT4 DEFAULT '0' NOT NULL CHECK (user_rank >= 0),
  1054. user_colour varchar(6) DEFAULT '' NOT NULL,
  1055. user_new_privmsg INT4 DEFAULT '0' NOT NULL,
  1056. user_unread_privmsg INT4 DEFAULT '0' NOT NULL,
  1057. user_last_privmsg INT4 DEFAULT '0' NOT NULL CHECK (user_last_privmsg >= 0),
  1058. user_message_rules INT2 DEFAULT '0' NOT NULL CHECK (user_message_rules >= 0),
  1059. user_full_folder INT4 DEFAULT '-3' NOT NULL,
  1060. user_emailtime INT4 DEFAULT '0' NOT NULL CHECK (user_emailtime >= 0),
  1061. user_topic_show_days INT2 DEFAULT '0' NOT NULL CHECK (user_topic_show_days >= 0),
  1062. user_topic_sortby_type varchar(1) DEFAULT 't' NOT NULL,
  1063. user_topic_sortby_dir varchar(1) DEFAULT 'd' NOT NULL,
  1064. user_post_show_days INT2 DEFAULT '0' NOT NULL CHECK (user_post_show_days >= 0),
  1065. user_post_sortby_type varchar(1) DEFAULT 't' NOT NULL,
  1066. user_post_sortby_dir varchar(1) DEFAULT 'a' NOT NULL,
  1067. user_notify INT2 DEFAULT '0' NOT NULL CHECK (user_notify >= 0),
  1068. user_notify_pm INT2 DEFAULT '1' NOT NULL CHECK (user_notify_pm >= 0),
  1069. user_notify_type INT2 DEFAULT '0' NOT NULL,
  1070. user_allow_pm INT2 DEFAULT '1' NOT NULL CHECK (user_allow_pm >= 0),
  1071. user_allow_viewonline INT2 DEFAULT '1' NOT NULL CHECK (user_allow_viewonline >= 0),
  1072. user_allow_viewemail INT2 DEFAULT '1' NOT NULL CHECK (user_allow_viewemail >= 0),
  1073. user_allow_massemail INT2 DEFAULT '1' NOT NULL CHECK (user_allow_massemail >= 0),
  1074. user_options INT4 DEFAULT '230271' NOT NULL CHECK (user_options >= 0),
  1075. user_avatar varchar(255) DEFAULT '' NOT NULL,
  1076. user_avatar_type INT2 DEFAULT '0' NOT NULL,
  1077. user_avatar_width INT2 DEFAULT '0' NOT NULL CHECK (user_avatar_width >= 0),
  1078. user_avatar_height INT2 DEFAULT '0' NOT NULL CHECK (user_avatar_height >= 0),
  1079. user_sig TEXT DEFAULT '' NOT NULL,
  1080. user_sig_bbcode_uid varchar(8) DEFAULT '' NOT NULL,
  1081. user_sig_bbcode_bitfield varchar(255) DEFAULT '' NOT NULL,
  1082. user_from varchar(100) DEFAULT '' NOT NULL,
  1083. user_icq varchar(15) DEFAULT '' NOT NULL,
  1084. user_aim varchar(255) DEFAULT '' NOT NULL,
  1085. user_yim varchar(255) DEFAULT '' NOT NULL,
  1086. user_msnm varchar(255) DEFAULT '' NOT NULL,
  1087. user_jabber varchar(255) DEFAULT '' NOT NULL,
  1088. user_website varchar(200) DEFAULT '' NOT NULL,
  1089. user_occ varchar(4000) DEFAULT '' NOT NULL,
  1090. user_interests varchar(4000) DEFAULT '' NOT NULL,
  1091. user_actkey varchar(32) DEFAULT '' NOT NULL,
  1092. user_newpasswd varchar(40) DEFAULT '' NOT NULL,
  1093. user_form_salt varchar(32) DEFAULT '' NOT NULL,
  1094. user_new INT2 DEFAULT '1' NOT NULL CHECK (user_new >= 0),
  1095. user_reminded INT2 DEFAULT '0' NOT NULL,
  1096. user_reminded_time INT4 DEFAULT '0' NOT NULL CHECK (user_reminded_time >= 0),
  1097. PRIMARY KEY (user_id)
  1098. );
  1099. CREATE INDEX phpbb_users_user_birthday ON phpbb_users (user_birthday);
  1100. CREATE INDEX phpbb_users_user_email_hash ON phpbb_users (user_email_hash);
  1101. CREATE INDEX phpbb_users_user_type ON phpbb_users (user_type);
  1102. CREATE UNIQUE INDEX phpbb_users_username_clean ON phpbb_users (username_clean);
  1103. /*
  1104. Table: 'phpbb_warnings'
  1105. */
  1106. CREATE SEQUENCE phpbb_warnings_seq;
  1107. CREATE TABLE phpbb_warnings (
  1108. warning_id INT4 DEFAULT nextval('phpbb_warnings_seq'),
  1109. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  1110. post_id INT4 DEFAULT '0' NOT NULL CHECK (post_id >= 0),
  1111. log_id INT4 DEFAULT '0' NOT NULL CHECK (log_id >= 0),
  1112. warning_time INT4 DEFAULT '0' NOT NULL CHECK (warning_time >= 0),
  1113. PRIMARY KEY (warning_id)
  1114. );
  1115. /*
  1116. Table: 'phpbb_words'
  1117. */
  1118. CREATE SEQUENCE phpbb_words_seq;
  1119. CREATE TABLE phpbb_words (
  1120. word_id INT4 DEFAULT nextval('phpbb_words_seq'),
  1121. word varchar(255) DEFAULT '' NOT NULL,
  1122. replacement varchar(255) DEFAULT '' NOT NULL,
  1123. PRIMARY KEY (word_id)
  1124. );
  1125. /*
  1126. Table: 'phpbb_zebra'
  1127. */
  1128. CREATE TABLE phpbb_zebra (
  1129. user_id INT4 DEFAULT '0' NOT NULL CHECK (user_id >= 0),
  1130. zebra_id INT4 DEFAULT '0' NOT NULL CHECK (zebra_id >= 0),
  1131. friend INT2 DEFAULT '0' NOT NULL CHECK (friend >= 0),
  1132. foe INT2 DEFAULT '0' NOT NULL CHECK (foe >= 0),
  1133. PRIMARY KEY (user_id, zebra_id)
  1134. );
  1135. COMMIT;