From 215dff4ba8c01fc70c9e6c4589140734bbf7fd41 Mon Sep 17 00:00:00 2001 From: "Paul S. Owen" Date: Tue, 20 Nov 2001 22:29:14 +0000 Subject: [PATCH] Moved from parent directory - no other changes ... at least I don't remember any ... I'll regret saying that, I just know it ... git-svn-id: file:///svn/phpbb/trunk@1393 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/db/schemas/ms_access_primer.zip | Bin 0 -> 107531 bytes phpBB/db/schemas/mssql_basic.sql | 202 +++++++ phpBB/db/schemas/mssql_schema.sql | 775 ++++++++++++++++++++++++++ phpBB/db/schemas/mysql_basic.sql | 147 +++++ phpBB/db/schemas/mysql_schema.sql | 584 +++++++++++++++++++ phpBB/db/schemas/oracle_basic.sql | 181 ++++++ phpBB/db/schemas/oracle_schema.sql | 522 +++++++++++++++++ phpBB/db/schemas/oracle_triggers.sql | 217 ++++++++ phpBB/db/schemas/postgres_basic.sql | 149 +++++ phpBB/db/schemas/postgres_schema.sql | 534 ++++++++++++++++++ 10 files changed, 3311 insertions(+) create mode 100644 phpBB/db/schemas/ms_access_primer.zip create mode 100644 phpBB/db/schemas/mssql_basic.sql create mode 100644 phpBB/db/schemas/mssql_schema.sql create mode 100644 phpBB/db/schemas/mysql_basic.sql create mode 100644 phpBB/db/schemas/mysql_schema.sql create mode 100644 phpBB/db/schemas/oracle_basic.sql create mode 100644 phpBB/db/schemas/oracle_schema.sql create mode 100644 phpBB/db/schemas/oracle_triggers.sql create mode 100644 phpBB/db/schemas/postgres_basic.sql create mode 100644 phpBB/db/schemas/postgres_schema.sql diff --git a/phpBB/db/schemas/ms_access_primer.zip b/phpBB/db/schemas/ms_access_primer.zip new file mode 100644 index 0000000000000000000000000000000000000000..53dbbfb5ce0320f4dac567db63915811d4d6031e GIT binary patch literal 107531 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

fQ#RO?AAfpJiXJ^ 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 literal 0 HcmV?d00001 diff --git a/phpBB/db/schemas/mssql_basic.sql b/phpBB/db/schemas/mssql_basic.sql new file mode 100644 index 0000000000..3b7db5c33f --- /dev/null +++ b/phpBB/db/schemas/mssql_basic.sql @@ -0,0 +1,202 @@ +/* + + Basic DB data for phpBB2 devel (MSSQL) + + $Id$ + +*/ + +BEGIN TRANSACTION; + +/* + -- Config +*/ +INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_disable','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('sitename','yourdomain.com'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('site_desc','A _little_ text to describe your forum'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('cookie_name','phpbb2mssql'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('cookie_path','/'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('cookie_domain',''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('cookie_secure','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('session_length','900'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_html','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_html_tags','b,i,u,pre'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_bbcode','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_smilies','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_sig','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_namechange','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_theme_create','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_avatar_local','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_avatar_remote','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_avatar_upload','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('override_user_style','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('posts_per_page','15'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('topics_per_page','50'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('hot_threshold','25'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_poll_options','10'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_sig_chars','255'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_inbox_privmsgs','50'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_sentbox_privmsgs','25'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_savebox_privmsgs','50'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_email_sig','Thanks, The Management'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_email','youraddress@yourdomain.com'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_delivery','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_host',''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_username',''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_password',''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('require_activation','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('flood_interval','15'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('avatar_filesize','6144'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('avatar_max_width','80'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('avatar_max_height','80'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('avatar_path','images/avatars'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('avatar_gallery_path','images/avatars/gallery'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('smilies_path','images/smiles'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('default_style','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('default_admin_style','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('default_dateformat','D M d, Y g:i a'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_timezone','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('prune_enable','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('gzip_compress','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('coppa_fax', ''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('coppa_mail', ''); + + +/* + -- Categories +*/ +SET IDENTITY_INSERT phpbb_categories ON; + +INSERT INTO phpbb_categories (cat_id, cat_title, cat_order) VALUES (1, 'Test category 1', 1); + +SET IDENTITY_INSERT phpbb_categories OFF; + + +/* + -- Forums +*/ +SET IDENTITY_INSERT phpbb_forums ON; + +INSERT INTO phpbb_forums (forum_id, cat_id, forum_name, forum_desc, forum_status, forum_order, forum_posts, forum_topics, forum_last_post_id, prune_next, prune_enable, auth_view, auth_read, auth_post, auth_reply, auth_edit, auth_delete, auth_announce, auth_sticky, auth_pollcreate, auth_vote, auth_attachments) VALUES (1, 1, 'Test Forum 1', 'This is just a test forum, nothing special here.', '', 1, 1, 1, 1, '', 1, '', '', '', '', 1, 1, 3, 1, 1, 1, 3); + +SET IDENTITY_INSERT phpbb_forums OFF; + + +/* + -- Users + Default Admin --> username: admin + password: admin (change this or remove it once everything is working!) +*/ +INSERT INTO phpbb_users (user_id, user_active, username, user_password, user_autologin_key, user_level, user_posts, user_timezone, user_dateformat, user_lang, user_viewemail, user_attachsig, user_allowhtml, user_allowbbcode, user_allowsmile, user_allowavatar, user_allow_pm, user_allow_viewonline, user_notify, user_notify_pm, user_regdate, user_rank, user_avatar, user_email, user_icq, user_website, user_from, user_sig, user_aim, user_yim, user_msnm, user_occ, user_interests, user_actkey, user_newpasswd) VALUES (-1, '', 'Anonymous', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 1, 0, '', '', '', '', '', '', '', '', '', '', '', '', '', ''); +INSERT INTO phpbb_users (user_id, user_active, username, user_password, user_autologin_key, user_level, user_posts, user_timezone, user_dateformat, user_style, user_lang, user_viewemail, user_attachsig, user_allowhtml, user_allowbbcode, user_allowsmile, user_allowavatar, user_allow_pm, user_allow_viewonline, user_notify, user_notify_pm, user_regdate, user_rank, user_avatar, user_email, user_icq, user_website, user_from, user_sig, user_aim, user_yim, user_msnm, user_occ, user_interests, user_actkey, user_newpasswd) VALUES (2, 1, 'Admin', '21232f297a57a5a743894a0e4a801fc3', '', 1, 1, 0, 'd M Y h:i a', 1, '', 1, '', '', 1, 1, 1, 1, 1, '', 1, 0, 1, '', 'admin@yourdomain.com', '', '', '', '', '', '', '', '', '', '', ''); + + +/* + -- Ranks +*/ +SET IDENTITY_INSERT phpbb_ranks ON; + +INSERT INTO phpbb_ranks (rank_id, rank_title, rank_min, rank_max, rank_special, rank_image) VALUES (1, 'Site Admin', -1, -1, 1, ''); + +SET IDENTITY_INSERT phpbb_ranks OFF; + + +/* + -- Groups +*/ +INSERT INTO phpbb_groups (group_id, group_type, group_name, group_description, group_moderator, group_single_user) VALUES (1, 1, 'Anonymous', 'Personal User', '', 1); +INSERT INTO phpbb_groups (group_id, group_type, group_name, group_description, group_moderator, group_single_user) VALUES (2, 1, 'Admin', 'Personal User', '', 1); + + +/* + -- User -> Group +*/ +INSERT INTO phpbb_user_group (group_id, user_id, user_pending) VALUES (1, -1, ''); +INSERT INTO phpbb_user_group (group_id, user_id, user_pending) VALUES (2, 2, ''); + + +/* + -- Demo Topic +*/ +SET IDENTITY_INSERT phpbb_topics ON; + +INSERT INTO phpbb_topics (topic_id, forum_id, topic_title, topic_poster, topic_time, topic_views, topic_replies, topic_status, topic_type, topic_vote, topic_last_post_id, topic_moved_id) VALUES (1, 1, 'Welcome to phpBB 2', 2, 972086460, '', '', '', '', '', 1, ''); + +SET IDENTITY_INSERT phpbb_topics OFF; + +/* + -- Demo Post +*/ +SET IDENTITY_INSERT phpbb_posts ON; + +INSERT INTO phpbb_posts (post_id, topic_id, forum_id, poster_id, post_time, poster_ip, post_username, enable_bbcode, enable_html, enable_smilies, enable_sig, bbcode_uid, post_edit_time, post_edit_count) VALUES (1, 1, 1, 2, 972086460, '7F000001', '', 1, '', 1, '', '', '', ''); + +INSERT INTO phpbb_posts_text (post_id, post_subject, post_text) VALUES (1, '', 'This is an example post in your phpBB 2 installation. You may delete this post, this topic and even this forum if you like since everything seems to be working!'); + +SET IDENTITY_INSERT phpbb_posts OFF; + +/* + -- Themes +*/ +SET IDENTITY_INSERT phpbb_themes ON; + +INSERT INTO phpbb_themes (themes_id, template_name, style_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (1,'subSilver','subSilver','','','E5E5E5','000000','006699','5584AA','FF9933','EDF2F2','EFEFEF','DEE3E7','c2cdd6','','','','CBD3D9','BCBCBC','1B7CAD','','','','AEBDC4','006699','FFFFFF','row1','row2','','Verdana,Arial,Helvetica,sans-serif','Verdana,Arial,Helvetica,sans-serif','courier','','','','004c75','004c75','004c75','','',''); + +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (2,'PSO [ Wheat ] ','PSO','','','FFFFFF','000000','002266','004411','','','','','','','','','001100','E5CCA5','D4A294','','','','EBE4D9','DAD1C4','','row1','row2','','verdana,serif','arial,helvetica','courier',1,2,3,'000000','','','','',''); +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (3,'PSO [ Ocean ]','PSO','','','DFF5FF','000000','011001','2100cc','','','','','','','','','000000','A7C1CB','7897A8','','','','83D7CC','A0CCE0','','row1','row2','','verdana,serif','arial,helvetica','courier',1,2,3,'','','','','',''); +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (4,'PSO [ Blue ]','PSO','','','FFFFFF','000000','417FB9','4E6172','0000AA','','','','','','','','000000','90BAE2','5195D4','','','','cde3f2','daedFd','','row1','row2','','verdana,serif','arial,helvetica','courier',1,2,3,'000000','','','','',''); +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (5,'PSO [ Cool Midnight ]','PSO', '','','444444','ECECEC','EDF2F2','DDEDED','FFFFFF','EDF2F2','','','','','','','000000','80707F','66555F','','','','60707D','667A80','','row1','row2','','Verdana,serif','Arial,Helvetica,sans-serif','courier',NULL,NULL,NULL,'ECECEC','ECECEC','ECECEC','','',''); +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (6,'PSO [ Pastel Purple ]','PSO','','','FFFFFF','000000','445588','337744','','','','','','','','','CCCCDD','CCCCDD','DDDDEE','','','','EFEFEF','FEFEFE','','row1','row2','','Verdana,serif','Arial,Helvetica,sans-serif','courier',1,2,3,'','','0000EE','','',''); + +SET IDENTITY_INSERT phpbb_themes OFF; + +/* + -- Smilies +*/ +SET IDENTITY_INSERT phpbb_smilies ON; + +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '1', ':D', 'icon_biggrin.gif', 'Very Happy'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '2', ':-D', 'icon_biggrin.gif', 'Very Happy'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '3', ':grin:', 'icon_biggrin.gif', 'Very Happy'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '4', ':)', 'icon_smile.gif', 'Smile'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '5', ':-)', 'icon_smile.gif', 'Smile'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '6', ':smile:', 'icon_smile.gif', 'Smile'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '7', ':(', 'icon_sad.gif', 'Sad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '8', ':-(', 'icon_sad.gif', 'Sad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '9', ':sad:', 'icon_sad.gif', 'Sad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '10', ':o', 'icon_eek.gif', 'Surprised'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '11', ':-o', 'icon_eek.gif', 'Surprised'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '12', ':eek:', 'icon_eek.gif', 'Surprised'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '13', ':?', 'icon_confused.gif', 'Confused'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '14', ':-?', 'icon_confused.gif', 'Confused'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '15', ':???:', 'icon_confused.gif', 'Confused'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '16', '8)', 'icon_cool.gif', 'Cool'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '17', '8-)', 'icon_cool.gif', 'Cool'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '18', ':cool:', 'icon_cool.gif', 'Cool'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '19', ':lol:', 'icon_lol.gif', 'Laughing'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '20', ':x', 'icon_mad.gif', 'Mad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '21', ':-x', 'icon_mad.gif', 'Mad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '22', ':mad:', 'icon_mad.gif', 'Mad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '23', ':P', 'icon_razz.gif', 'Razz'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '24', ':-P', 'icon_razz.gif', 'Razz'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '25', ':razz:', 'icon_razz.gif', 'Razz'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '26', ':oops:', 'icon_redface.gif', 'Embarassed'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '27', ':cry:', 'icon_cry.gif', 'Crying or Very sad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '28', ':evil:', 'icon_evil.gif', 'Evil or Very Mad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '29', ':twisted:', 'icon_twisted.gif', 'Twisted Evil'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '30', ':roll:', 'icon_rolleyes.gif', 'Rolling Eyes'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '31', ':wink:', 'icon_wink.gif', 'Wink'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '32', ';)', 'icon_wink.gif', 'Wink'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '33', ';-)', 'icon_wink.gif', 'Wink'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '34', ':!:', 'icon_exclaim.gif', 'Exclamation'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '35', ':?:', 'icon_question.gif', 'Question'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '36', ':idea:', 'icon_idea.gif', 'Idea'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '37', ':arrow:', 'icon_arrow.gif', 'Arrow'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '38', ':|', 'icon_neutral.gif', 'Neutral'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '39', ':-|', 'icon_neutral.gif', 'Neutral'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '40', ':neutral:', 'icon_neutral.gif', 'Neutral'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '41', ':mrgreen:', 'icon_mrgreen.gif', 'Mr. Green'); + +SET IDENTITY_INSERT phpbb_smilies OFF; + +COMMIT; diff --git a/phpBB/db/schemas/mssql_schema.sql b/phpBB/db/schemas/mssql_schema.sql new file mode 100644 index 0000000000..8cc34abcdb --- /dev/null +++ b/phpBB/db/schemas/mssql_schema.sql @@ -0,0 +1,775 @@ +/* + + mssql_schema.sql for phpBB2 (c) 2001, phpBB Group + + $Id$ + +*/ + +if exists (select * from sysobjects where id = object_id(N'[FK_phpbb_user_group_phpbb_groups]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) +ALTER TABLE [phpbb_user_group] DROP CONSTRAINT FK_phpbb_user_group_phpbb_groups +GO + +if exists (select * from sysobjects where id = object_id(N'[FK_phpbb_posts_text_phpbb_posts]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) +ALTER TABLE [phpbb_posts_text] DROP CONSTRAINT FK_phpbb_posts_text_phpbb_posts +GO + +if exists (select * from sysobjects where id = object_id(N'[FK_phpbb_privmsgs_text_phpbb_privmsgs]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) +ALTER TABLE [phpbb_privmsgs_text] DROP CONSTRAINT FK_phpbb_privmsgs_text_phpbb_privmsgs +GO + +if exists (select * from sysobjects where id = object_id(N'[FK_phpbb_themes_name_phpbb_themes]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) +ALTER TABLE [phpbb_themes_name] DROP CONSTRAINT FK_phpbb_themes_name_phpbb_themes +GO + +if exists (select * from sysobjects where id = object_id(N'[FK_phpbb_topics_watch_phpbb_topics]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) +ALTER TABLE [phpbb_topics_watch] DROP CONSTRAINT FK_phpbb_topics_watch_phpbb_topics +GO + +if exists (select * from sysobjects where id = object_id(N'[FK_phpbb_topics_watch_phpbb_users]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) +ALTER TABLE [phpbb_topics_watch] DROP CONSTRAINT FK_phpbb_topics_watch_phpbb_users +GO + +if exists (select * from sysobjects where id = object_id(N'[FK_phpbb_user_group_phpbb_users]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) +ALTER TABLE [phpbb_user_group] DROP CONSTRAINT FK_phpbb_user_group_phpbb_users +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_auth_access]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_auth_access] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_banlist]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_banlist] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_categories]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_categories] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_config]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_config] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_disallow]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_disallow] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_forum_prune]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_forum_prune] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_forums]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_forums] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_groups]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_groups] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_posts]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_posts] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_posts_text]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_posts_text] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_privmsgs]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_privmsgs] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_privmsgs_text]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_privmsgs_text] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_ranks]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_ranks] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_session]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_session] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_smilies]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_smilies] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_themes]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_themes] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_themes_name]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_themes_name] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_topics]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_topics] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_topics_watch]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_topics_watch] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_user_group]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_user_group] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_users]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_users] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_vote_desc]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_vote_desc] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_vote_results]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_vote_results] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_vote_voters]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_vote_voters] +GO + +if exists (select * from sysobjects where id = object_id(N'[phpbb_words]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) +drop table [phpbb_words] +GO + +CREATE TABLE [phpbb_auth_access] ( + [group_id] [int] NULL , + [forum_id] [int] NULL , + [auth_view] [smallint] NOT NULL , + [auth_read] [smallint] NOT NULL , + [auth_post] [smallint] NOT NULL , + [auth_reply] [smallint] NOT NULL , + [auth_edit] [smallint] NOT NULL , + [auth_delete] [smallint] NOT NULL , + [auth_sticky] [smallint] NOT NULL , + [auth_announce] [smallint] NOT NULL , + [auth_vote] [smallint] NOT NULL , + [auth_pollcreate] [smallint] NOT NULL , + [auth_attachments] [smallint] NOT NULL , + [auth_mod] [smallint] NOT NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_banlist] ( + [ban_id] [int] IDENTITY (1, 1) NOT NULL , + [ban_userid] [int] NULL , + [ban_ip] [char] (8) NULL , + [ban_email] [varchar] (50) NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_categories] ( + [cat_id] [int] IDENTITY (1, 1) NOT NULL , + [cat_title] [varchar] (50) NOT NULL , + [cat_order] [int] NOT NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_config] ( + [config_name] [varchar] (255) NULL , + [config_value] [varchar] (255) NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_disallow] ( + [disallow_id] [int] IDENTITY (1, 1) NOT NULL , + [disallow_username] [varchar] (100) NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_forum_prune] ( + [prune_id] [int] IDENTITY (1, 1) NOT NULL , + [forum_id] [int] NOT NULL , + [prune_days] [int] NOT NULL , + [prune_freq] [int] NOT NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_forums] ( + [forum_id] [int] IDENTITY (1, 1) NOT NULL , + [cat_id] [int] NOT NULL , + [forum_name] [varchar] (100) NOT NULL , + [forum_desc] [varchar] (255) NULL , + [forum_status] [smallint] NOT NULL , + [forum_order] [int] NOT NULL , + [forum_posts] [int] NOT NULL , + [forum_topics] [smallint] NOT NULL , + [forum_last_post_id] [int] NOT NULL , + [prune_next] [int] NULL , + [prune_enable] [smallint] NOT NULL , + [auth_view] [smallint] NOT NULL , + [auth_read] [smallint] NOT NULL , + [auth_post] [smallint] NOT NULL , + [auth_reply] [smallint] NOT NULL , + [auth_edit] [smallint] NOT NULL , + [auth_delete] [smallint] NOT NULL , + [auth_sticky] [smallint] NOT NULL , + [auth_announce] [smallint] NOT NULL , + [auth_vote] [smallint] NOT NULL , + [auth_pollcreate] [smallint] NOT NULL , + [auth_attachments] [smallint] NOT NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_groups] ( + [group_id] [int] NOT NULL , + [group_type] [smallint] NULL , + [group_name] [varchar] (50) NOT NULL , + [group_description] [varchar] (255) NOT NULL , + [group_moderator] [int] NULL , + [group_single_user] [smallint] NOT NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_posts] ( + [post_id] [int] IDENTITY (1, 1) NOT NULL , + [topic_id] [int] NOT NULL , + [forum_id] [int] NOT NULL , + [poster_id] [int] NOT NULL , + [post_time] [int] NOT NULL , + [poster_ip] [char] (8) NULL , + [post_username] [varchar] (50) NULL , + [enable_bbcode] [smallint] NULL , + [enable_html] [smallint] NULL , + [enable_smilies] [smallint] NULL , + [enable_sig] [smallint] NULL , + [bbcode_uid] [char] (10) NULL , + [post_edit_time] [int] NULL , + [post_edit_count] [smallint] NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_posts_text] ( + [post_id] [int] NOT NULL , + [post_subject] [varchar] (100) NULL , + [post_text] [text] NULL +) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] +GO + +CREATE TABLE [phpbb_privmsgs] ( + [privmsgs_id] [int] IDENTITY (1, 1) NOT NULL , + [privmsgs_type] [smallint] NOT NULL , + [privmsgs_subject] [varchar] (100) NOT NULL , + [privmsgs_from_userid] [int] NOT NULL , + [privmsgs_to_userid] [int] NOT NULL , + [privmsgs_date] [int] NOT NULL , + [privmsgs_ip] [char] (8) NOT NULL , + [privmsgs_enable_bbcode] [smallint] NULL , + [privmsgs_enable_html] [smallint] NULL , + [privmsgs_enable_smilies] [smallint] NULL , + [privmsgs_attach_sig] [smallint] NULL , +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_privmsgs_text] ( + [privmsgs_text_id] [int] NOT NULL , + [privmsgs_bbcode_uid] [char] (10) NULL + [privmsgs_text] [text] NULL +) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] +GO + +CREATE TABLE [phpbb_ranks] ( + [rank_id] [int] IDENTITY (1, 1) NOT NULL , + [rank_title] [varchar] (50) NOT NULL , + [rank_min] [int] NULL , + [rank_max] [int] NULL , + [rank_special] [smallint] NULL , + [rank_image] [varchar] (50) NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_session] ( + [session_id] [char] (32) NOT NULL , + [session_user_id] [int] NOT NULL , + [session_start] [int] NULL , + [session_time] [int] NULL , + [session_last_visit] [int] NULL , + [session_ip] [char] (8) NOT NULL , + [session_page] [int] NULL , + [session_logged_in] [smallint] NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_smilies] ( + [smilies_id] [int] IDENTITY (1, 1) NOT NULL , + [code] [varchar] (10) NOT NULL , + [smile_url] [varchar] (50) NOT NULL , + [emoticon] [varchar] (50) NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_themes] ( + [themes_id] [int] IDENTITY (1, 1) NOT NULL , + [style_name] [varchar] (50) NOT NULL , + [head_stylesheet] [varchar] (50) NULL , + [body_background] [varchar] (50) NULL , + [body_bgcolor] [char] (6) NULL , + [body_text] [char] (6) NULL , + [body_link] [char] (6) NULL , + [body_vlink] [char] (6) NULL , + [body_alink] [char] (6) NULL , + [body_hlink] [char] (6) NULL , + [tr_color1] [char] (6) NULL , + [tr_color2] [char] (6) NULL , + [tr_color3] [char] (6) NULL , + [tr_class1] [varchar] (25) NULL , + [tr_class2] [varchar] (25) NULL , + [tr_class3] [varchar] (25) NULL , + [th_color1] [char] (6) NULL , + [th_color2] [char] (6) NULL , + [th_color3] [char] (6) NULL , + [th_class1] [varchar] (25) NULL , + [th_class2] [varchar] (25) NULL , + [th_class3] [varchar] (25) NULL , + [td_color1] [char] (6) NULL , + [td_color2] [char] (6) NULL , + [td_color3] [char] (6) NULL , + [td_class1] [varchar] (25) NULL , + [td_class2] [varchar] (25) NULL , + [td_class3] [varchar] (25) NULL , + [fontface1] [varchar] (50) NULL , + [fontface2] [varchar] (50) NULL , + [fontface3] [varchar] (50) NULL , + [fontsize1] [smallint] NULL , + [fontsize2] [smallint] NULL , + [fontsize3] [smallint] NULL , + [fontcolor1] [char] (6) NULL , + [fontcolor2] [char] (6) NULL , + [fontcolor3] [char] (6) NULL , + [span_class1] [varchar] (25) NULL , + [span_class2] [varchar] (25) NULL , + [span_class3] [varchar] (25) NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_themes_name] ( + [themes_id] [int] NOT NULL , + [tr_color1_name] [varchar] (25) NULL , + [tr_color2_name] [varchar] (25) NULL , + [tr_color3_name] [varchar] (25) NULL , + [tr_class1_name] [varchar] (25) NULL , + [tr_class2_name] [varchar] (25) NULL , + [tr_class3_name] [varchar] (25) NULL , + [th_color1_name] [varchar] (25) NULL , + [th_color2_name] [varchar] (25) NULL , + [th_color3_name] [varchar] (25) NULL , + [th_class1_name] [varchar] (25) NULL , + [th_class2_name] [varchar] (25) NULL , + [th_class3_name] [varchar] (25) NULL , + [td_color1_name] [varchar] (25) NULL , + [td_color2_name] [varchar] (25) NULL , + [td_color3_name] [varchar] (25) NULL , + [td_class1_name] [varchar] (25) NULL , + [td_class2_name] [varchar] (25) NULL , + [td_class3_name] [varchar] (25) NULL , + [fontface1_name] [varchar] (25) NULL , + [fontface2_name] [varchar] (25) NULL , + [fontface3_name] [varchar] (25) NULL , + [fontsize1_name] [varchar] (25) NULL , + [fontsize2_name] [varchar] (25) NULL , + [fontsize3_name] [varchar] (25) NULL , + [fontcolor1_name] [varchar] (25) NULL , + [fontcolor2_name] [varchar] (25) NULL , + [fontcolor3_name] [varchar] (25) NULL , + [span_class1_name] [varchar] (25) NULL , + [span_class2_name] [varchar] (25) NULL , + [span_class3_name] [varchar] (25) NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_topics] ( + [topic_id] [int] IDENTITY (1, 1) NOT NULL , + [forum_id] [int] NOT NULL , + [topic_title] [varchar] (100) NOT NULL , + [topic_poster] [int] NOT NULL , + [topic_time] [int] NOT NULL , + [topic_views] [int] NOT NULL , + [topic_replies] [int] NOT NULL , + [topic_status] [smallint] NOT NULL , + [topic_type] [smallint] NOT NULL , + [topic_vote] [smallint] NOT NULL , + [topic_last_post_id] [int] NULL , + [topic_moved_id] [int] NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_topics_watch] ( + [topic_id] [int] NOT NULL , + [user_id] [int] NOT NULL , + [notify_status] [smallint] NOT NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_user_group] ( + [group_id] [int] NOT NULL , + [user_id] [int] NOT NULL , + [user_pending] [smallint] NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_users] ( + [user_id] [int] NOT NULL , + [user_active] [smallint] NULL , + [username] [varchar] (40) NOT NULL , + [user_password] [char] (32) NULL , + [user_autologin_key] [char] (32) NULL , + [user_level] [smallint] NULL , + [user_posts] [int] NOT NULL , + [user_timezone] [int] NOT NULL , + [user_dateformat] [varchar] (15) NOT NULL , + [user_style] [int] NULL , + [user_lang] [varchar] (50) NULL , + [user_viewemail] [smallint] NULL , + [user_attachsig] [smallint] NULL , + [user_allowhtml] [smallint] NULL , + [user_allowbbcode] [smallint] NULL , + [user_allowsmile] [smallint] NULL , + [user_allowavatar] [smallint] NOT NULL , + [user_allow_pm] [smallint] NOT NULL , + [user_allow_viewonline] [smallint] NOT NULL , + [user_notify] [smallint] NOT NULL , + [user_notify_pm] [smallint] NOT NULL , + [user_regdate] [int] NOT NULL , + [user_rank] [int] NULL , + [user_avatar] [varchar] (100) NULL , + [user_avatar_type] [smallint] NOT NULL, + [user_email] [varchar] (25) NULL , + [user_icq] [varchar] (15) NULL , + [user_website] [varchar] (50) NULL , + [user_from] [varchar] (200) NULL , + [user_sig] [text] NULL , + [user_sig_bbcode_uid] [char] (10) NULL, + [user_aim] [varchar] (50) NULL , + [user_yim] [varchar] (50) NULL , + [user_msnm] [varchar] (50) NULL , + [user_occ] [varchar] (255) NULL , + [user_interests] [varchar] (255) NULL , + [user_actkey] [char] (32) NULL , + [user_newpasswd] [char] (32) NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_vote_desc] ( + [vote_id] [int] IDENTITY (1, 1) NOT NULL , + [topic_id] [int] NOT NULL , + [vote_text] [varchar] (255) NOT NULL , + [vote_start] [int] NOT NULL , + [vote_length] [int] NOT NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_vote_results] ( + [vote_id] [int] NOT NULL , + [vote_option_id] [int] NOT NULL , + [vote_option_text] [varchar] (255) NOT NULL , + [vote_result] [int] NOT NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_vote_voters] ( + [vote_id] [int] NOT NULL , + [vote_user_id] [int] NOT NULL , + [vote_user_ip] [char] (8) NOT NULL +) ON [PRIMARY] +GO + +CREATE TABLE [phpbb_words] ( + [word_id] [int] IDENTITY (1, 1) NOT NULL , + [word] [varchar] (255) NOT NULL , + [replacement] [varchar] (255) NOT NULL +) ON [PRIMARY] +GO + +ALTER TABLE [phpbb_banlist] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_banlist] PRIMARY KEY CLUSTERED + ( + [ban_id] + ) ON [PRIMARY] +GO + +ALTER TABLE [phpbb_categories] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_categories] PRIMARY KEY CLUSTERED + ( + [cat_id] + ) ON [PRIMARY] +GO + +ALTER TABLE [phpbb_disallow] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_disallow] PRIMARY KEY CLUSTERED + ( + [disallow_id] + ) ON [PRIMARY] +GO + +ALTER TABLE [phpbb_forum_prune] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_forum_prune] PRIMARY KEY CLUSTERED + ( + [prune_id] + ) ON [PRIMARY] +GO + +ALTER TABLE [phpbb_forums] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_forums] PRIMARY KEY CLUSTERED + ( + [forum_id] + ) ON [PRIMARY] +GO + +ALTER TABLE [phpbb_groups] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_groups] PRIMARY KEY CLUSTERED + ( + [group_id] + ) ON [PRIMARY] +GO + +ALTER TABLE [phpbb_posts] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_posts] PRIMARY KEY CLUSTERED + ( + [post_id] + ) ON [PRIMARY] +GO + +ALTER TABLE [phpbb_privmsgs] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_privmsgs] PRIMARY KEY CLUSTERED + ( + [privmsgs_id] + ) ON [PRIMARY] +GO + +ALTER TABLE [phpbb_privmsgs_text] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_privmsgs_text] PRIMARY KEY CLUSTERED + ( + [privmsgs_text_id] + ) ON [PRIMARY] +GO + +ALTER TABLE [phpbb_ranks] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_ranks] PRIMARY KEY CLUSTERED + ( + [rank_id] + ) ON [PRIMARY] +GO + +ALTER TABLE [phpbb_smilies] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_smilies] PRIMARY KEY CLUSTERED + ( + [smilies_id] + ) ON [PRIMARY] +GO + +ALTER TABLE [phpbb_themes] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_themes] PRIMARY KEY CLUSTERED + ( + [themes_id] + ) ON [PRIMARY] +GO + +ALTER TABLE [phpbb_themes_name] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_themes_name] PRIMARY KEY CLUSTERED + ( + [themes_id] + ) ON [PRIMARY] +GO + +ALTER TABLE [phpbb_topics] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_topics] PRIMARY KEY CLUSTERED + ( + [topic_id] + ) ON [PRIMARY] +GO + +ALTER TABLE [phpbb_users] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_users] PRIMARY KEY CLUSTERED + ( + [user_id] + ) ON [PRIMARY] +GO + +ALTER TABLE [phpbb_vote_desc] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_vote_desc] PRIMARY KEY CLUSTERED + ( + [vote_id] + ) ON [PRIMARY] +GO + +ALTER TABLE [phpbb_words] WITH NOCHECK ADD + CONSTRAINT [PK_phpbb_words] PRIMARY KEY CLUSTERED + ( + [word_id] + ) ON [PRIMARY] +GO + +ALTER TABLE [phpbb_auth_access] WITH NOCHECK ADD + CONSTRAINT [DF_phpbb_auth_access_auth_view] DEFAULT (0) FOR [auth_view], + CONSTRAINT [DF_phpbb_auth_access_auth_read] DEFAULT (0) FOR [auth_read], + CONSTRAINT [DF_phpbb_auth_access_auth_post] DEFAULT (0) FOR [auth_post], + CONSTRAINT [DF_phpbb_auth_access_auth_reply] DEFAULT (0) FOR [auth_reply], + CONSTRAINT [DF_phpbb_auth_access_auth_edit] DEFAULT (0) FOR [auth_edit], + CONSTRAINT [DF_phpbb_auth_access_auth_delete] DEFAULT (0) FOR [auth_delete], + CONSTRAINT [DF_phpbb_auth_access_auth_sticky] DEFAULT (0) FOR [auth_sticky], + CONSTRAINT [DF_phpbb_auth_access_auth_announce] DEFAULT (0) FOR [auth_announce], + CONSTRAINT [DF_phpbb_auth_access_auth_vote] DEFAULT (0) FOR [auth_vote], + CONSTRAINT [DF_phpbb_auth_access_auth_pollcreate] DEFAULT (0) FOR [auth_pollcreate], + CONSTRAINT [DF_phpbb_auth_access_auth_attachments] DEFAULT (0) FOR [auth_attachments], + CONSTRAINT [DF_phpbb_auth_access_auth_mod] DEFAULT (0) FOR [auth_mod] +GO + +ALTER TABLE [phpbb_forums] WITH NOCHECK ADD + CONSTRAINT [DF_phpbb_forums_forum_posts] DEFAULT (0) FOR [forum_posts], + CONSTRAINT [DF_phpbb_forums_forum_topics] DEFAULT (0) FOR [forum_topics], + CONSTRAINT [DF_phpbb_forums_forum_last_post_id] DEFAULT (0) FOR [forum_last_post_id], + CONSTRAINT [DF_phpbb_forums_prune_enable] DEFAULT (0) FOR [prune_enable], + CONSTRAINT [DF_phpbb_forums_auth_view] DEFAULT (0) FOR [auth_view], + CONSTRAINT [DF_phpbb_forums_auth_read] DEFAULT (0) FOR [auth_read], + CONSTRAINT [DF_phpbb_forums_auth_post] DEFAULT (0) FOR [auth_post], + CONSTRAINT [DF_phpbb_forums_auth_reply] DEFAULT (0) FOR [auth_reply], + CONSTRAINT [DF_phpbb_forums_auth_edit] DEFAULT (0) FOR [auth_edit], + CONSTRAINT [DF_phpbb_forums_auth_delete] DEFAULT (0) FOR [auth_delete], + CONSTRAINT [DF_phpbb_forums_auth_sticky] DEFAULT (0) FOR [auth_sticky], + CONSTRAINT [DF_phpbb_forums_auth_announce] DEFAULT (0) FOR [auth_announce], + CONSTRAINT [DF_phpbb_forums_auth_vote] DEFAULT (0) FOR [auth_vote], + CONSTRAINT [DF_phpbb_forums_auth_pollcreate] DEFAULT (0) FOR [auth_pollcreate], + CONSTRAINT [DF_phpbb_forums_auth_attachments] DEFAULT (0) FOR [auth_attachments] +GO + +ALTER TABLE [phpbb_topics] WITH NOCHECK ADD + CONSTRAINT [DF_phpbb_topics_topic_views] DEFAULT (0) FOR [topic_views], + CONSTRAINT [DF_phpbb_topics_topic_replies] DEFAULT (0) FOR [topic_replies], + CONSTRAINT [DF_phpbb_topics_topic_status] DEFAULT (0) FOR [topic_status], + CONSTRAINT [DF_phpbb_topics_topic_type] DEFAULT (0) FOR [topic_type], + CONSTRAINT [DF_phpbb_topics_topic_vote] DEFAULT (0) FOR [topic_vote] +GO + +ALTER TABLE [phpbb_users] WITH NOCHECK ADD + CONSTRAINT [DF_phpbb_users_user_posts] DEFAULT (0) FOR [user_posts], + CONSTRAINT [DF_phpbb_users_user_viewemail] DEFAULT (1) FOR [user_viewemail], + CONSTRAINT [DF_phpbb_users_user_attachsig] DEFAULT (1) FOR [user_attachsig], + CONSTRAINT [DF_phpbb_users_user_allowhtml] DEFAULT (0) FOR [user_allowhtml], + CONSTRAINT [DF_phpbb_users_user_allowbbcode] DEFAULT (1) FOR [user_allowbbcode], + CONSTRAINT [DF_phpbb_users_user_allowsmile] DEFAULT (1) FOR [user_allowsmile], + CONSTRAINT [DF_phpbb_users_user_allowavatar] DEFAULT (1) FOR [user_allowavatar], + CONSTRAINT [DF_phpbb_users_user_allow_pm] DEFAULT (1) FOR [user_allow_pm], + CONSTRAINT [DF_phpbb_users_user_allow_viewonline] DEFAULT (1) FOR [user_allow_viewonline], + CONSTRAINT [DF_phpbb_users_user_notify] DEFAULT (1) FOR [user_notify], + CONSTRAINT [DF_phpbb_users_user_notify_pm] DEFAULT (1) FOR [user_notify_pm], + CONSTRAINT [DF_phpbb_users_user_avatar_type] DEFAULT (0) FOR [user_avatar_type] +GO + + CREATE INDEX [IX_phpbb_auth_access] ON [phpbb_auth_access]([group_id], [forum_id]) ON [PRIMARY] +GO + + CREATE INDEX [IX_phpbb_banlist] ON [phpbb_banlist]([ban_userid], [ban_ip]) ON [PRIMARY] +GO + + CREATE INDEX [IX_phpbb_categories] ON [phpbb_categories]([cat_order]) ON [PRIMARY] +GO + + CREATE INDEX [IX_phpbb_forum_prune] ON [phpbb_forum_prune]([forum_id]) ON [PRIMARY] +GO + + CREATE INDEX [IX_phpbb_forums] ON [phpbb_forums]([cat_id], [forum_order], [forum_last_post_id]) ON [PRIMARY] +GO + + CREATE INDEX [IX_phpbb_groups] ON [phpbb_groups]([group_single_user]) ON [PRIMARY] +GO + + CREATE INDEX [IX_phpbb_posts] ON [phpbb_posts]([topic_id], [forum_id], [poster_id]) ON [PRIMARY] +GO + + CREATE INDEX [IX_phpbb_posts_text] ON [phpbb_posts_text]([post_id]) ON [PRIMARY] +GO + + CREATE INDEX [IX_phpbb_privmsgs] ON [phpbb_privmsgs]([privmsgs_from_userid], [privmsgs_to_userid]) ON [PRIMARY] +GO + + CREATE INDEX [IX_phpbb_ranks] ON [phpbb_ranks]([rank_min], [rank_max], [rank_special]) ON [PRIMARY] +GO + + CREATE INDEX [IX_phpbb_session] ON [phpbb_session]([session_id], [session_user_id], [session_ip], [session_logged_in]) ON [PRIMARY] +GO + + CREATE INDEX [IX_phpbb_topics] ON [phpbb_topics]([forum_id], [topic_type], [topic_last_post_id]) ON [PRIMARY] +GO + + CREATE INDEX [IX_phpbb_topics_watch] ON [phpbb_topics_watch]([topic_id], [user_id]) ON [PRIMARY] +GO + + CREATE INDEX [IX_phpbb_user_group] ON [phpbb_user_group]([group_id], [user_id]) ON [PRIMARY] +GO + + CREATE INDEX [IX_phpbb_users] ON [phpbb_users]([user_level]) ON [PRIMARY] +GO + + CREATE INDEX [IX_phpbb_vote_desc] ON [phpbb_vote_desc]([topic_id]) ON [PRIMARY] +GO + + CREATE INDEX [IX_phpbb_vote_results] ON [phpbb_vote_results]([vote_id]) ON [PRIMARY] +GO + + CREATE INDEX [IX_phpbb_vote_results_1] ON [phpbb_vote_results]([vote_option_id]) ON [PRIMARY] +GO + + CREATE INDEX [IX_phpbb_vote_voters] ON [phpbb_vote_voters]([vote_id]) ON [PRIMARY] +GO + + CREATE INDEX [IX_phpbb_vote_voters_1] ON [phpbb_vote_voters]([vote_user_id]) ON [PRIMARY] +GO + +ALTER TABLE [phpbb_posts_text] ADD + CONSTRAINT [FK_phpbb_posts_text_phpbb_posts] FOREIGN KEY + ( + [post_id] + ) REFERENCES [phpbb_posts] ( + [post_id] + ) +GO + +ALTER TABLE [phpbb_privmsgs_text] ADD + CONSTRAINT [FK_phpbb_privmsgs_text_phpbb_privmsgs] FOREIGN KEY + ( + [privmsgs_text_id] + ) REFERENCES [phpbb_privmsgs] ( + [privmsgs_id] + ) +GO + +ALTER TABLE [phpbb_themes_name] ADD + CONSTRAINT [FK_phpbb_themes_name_phpbb_themes] FOREIGN KEY + ( + [themes_id] + ) REFERENCES [phpbb_themes] ( + [themes_id] + ) +GO + +ALTER TABLE [phpbb_topics_watch] ADD + CONSTRAINT [FK_phpbb_topics_watch_phpbb_topics] FOREIGN KEY + ( + [topic_id] + ) REFERENCES [phpbb_topics] ( + [topic_id] + ), + CONSTRAINT [FK_phpbb_topics_watch_phpbb_users] FOREIGN KEY + ( + [user_id] + ) REFERENCES [phpbb_users] ( + [user_id] + ) +GO + +ALTER TABLE [phpbb_user_group] ADD + CONSTRAINT [FK_phpbb_user_group_phpbb_groups] FOREIGN KEY + ( + [group_id] + ) REFERENCES [phpbb_groups] ( + [group_id] + ), + CONSTRAINT [FK_phpbb_user_group_phpbb_users] FOREIGN KEY + ( + [user_id] + ) REFERENCES [phpbb_users] ( + [user_id] + ) +GO diff --git a/phpBB/db/schemas/mysql_basic.sql b/phpBB/db/schemas/mysql_basic.sql new file mode 100644 index 0000000000..86b229bcd8 --- /dev/null +++ b/phpBB/db/schemas/mysql_basic.sql @@ -0,0 +1,147 @@ +# +# Basic DB data for phpBB2 devel +# +# $Id$ + +# -- Config +INSERT INTO phpbb_config (config_name, config_value) VALUES ('config_id','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_disable','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('sitename','yourdomain.com'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('site_desc','A _little_ text to describe your forum'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('cookie_name','phpbb2mysql'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('cookie_path','/'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('cookie_domain',''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('cookie_secure','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('session_length','900'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_html','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_html_tags','b,i,u,pre'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_bbcode','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_smilies','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_sig','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_namechange','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_theme_create','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_avatar_local','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_avatar_remote','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_avatar_upload','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('override_user_style','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('posts_per_page','15'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('topics_per_page','50'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('hot_threshold','25'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_poll_options','10'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_sig_chars','255'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_inbox_privmsgs','50'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_sentbox_privmsgs','25'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_savebox_privmsgs','50'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_email_sig','Thanks, The Management'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_email','youraddress@yourdomain.com'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_delivery','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_host',''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_username',''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_password',''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('require_activation','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('flood_interval','15'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_email_form','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('avatar_filesize','6144'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('avatar_max_width','80'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('avatar_max_height','80'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('avatar_path','images/avatars'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('avatar_gallery_path','images/avatars/gallery'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('smilies_path','images/smiles'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('default_style','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('default_admin_style','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('default_dateformat','D M d, Y g:i a'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_timezone','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('prune_enable','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('privmsg_disable','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('gzip_compress','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('coppa_fax', ''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('coppa_mail', ''); + + +# -- Categories +INSERT INTO phpbb_categories (cat_id, cat_title, cat_order) VALUES (1, 'Test category 1', 1); + + +# -- Forums +INSERT INTO phpbb_forums (forum_id, forum_name, forum_desc, cat_id, forum_order, forum_posts, forum_topics, forum_last_post_id, auth_view, auth_read, auth_post, auth_reply, auth_edit, auth_delete, auth_announce, auth_sticky, auth_pollcreate, auth_vote, auth_attachments) VALUES (1, 'Test Forum 1', 'This is just a test forum.', 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 3, 1, 1, 1, 3); + +# -- Users +INSERT INTO phpbb_users (user_id, username, user_level, user_regdate, user_password, user_autologin_key, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_viewemail, user_style, user_aim, user_yim, user_msnm, user_posts, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_pm, user_notify_pm, user_allow_viewonline, user_rank, user_avatar, user_lang, user_timezone, user_dateformat, user_actkey, user_newpasswd, user_notify, user_active) VALUES ( '-1', 'Anonymous', '0', '', '', '', '', '', '', '', '', '', '', '0', '0', '', '', '', '', '', '', '', '0', '0', '1', '', '', '', '', '', '', '', '', '0', '0'); + +# username: admin password: admin (change this or remove it once everything is working!) +INSERT INTO phpbb_users (user_id, username, user_level, user_regdate, user_password, user_autologin_key, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_viewemail, user_style, user_aim, user_yim, user_msnm, user_posts, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_pm, user_notify_pm, user_allow_viewonline, user_rank, user_avatar, user_lang, user_timezone, user_dateformat, user_actkey, user_newpasswd, user_notify, user_active) VALUES ( '2', 'Admin', '1', '', '', '', 'admin@yourdomain.com', '', '', '', '', '', '', '1', '1', '', '', '', '1', '0', '1', '0', '1', '1', '1', '1', '1', '', '', '0', 'd M Y h:i a', '', '', '0', '1'); + + +# -- Ranks +INSERT INTO phpbb_ranks (rank_id, rank_title, rank_min, rank_max, rank_special, rank_image) VALUES ( '1', 'Site Admin', '-1', '-1', '1', ''); + +# -- Groups +INSERT INTO phpbb_groups (group_id, group_name, group_description, group_single_user) VALUES (1, 'Anonymous', 'Personal User', 1); +INSERT INTO phpbb_groups (group_id, group_name, group_description, group_single_user) VALUES (2, 'Admin', 'Personal User', 1); + + +# -- User -> Group +INSERT INTO phpbb_user_group (group_id, user_id, user_pending) VALUES (1, -1, 0); +INSERT INTO phpbb_user_group (group_id, user_id, user_pending) VALUES (2, 2, 0); + + +# -- Demo Topic +INSERT INTO phpbb_topics (topic_id, topic_title, topic_poster, topic_time, topic_views, topic_replies, forum_id, topic_status, topic_type, topic_vote, topic_last_post_id) VALUES (1, 'Welcome to phpBB 2', 2, '972086460', 0, 0, 1, 0, 0, 0, 1); + + +# -- Demo Post +INSERT INTO phpbb_posts (post_id, topic_id, forum_id, poster_id, post_time, post_username, poster_ip) VALUES (1, 1, 1, 2, '972086460', '', '7F000001'); +INSERT INTO phpbb_posts_text (post_id, post_subject, post_text) VALUES (1, '', 'This is an example post in your phpBB 2 installation. You may delete this post, this topic and even this forum if you like since everything seems to be working!'); + + +# -- Themes +INSERT INTO phpbb_themes (themes_id, template_name, style_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (1,'subSilver','subSilver','','','E5E5E5','000000','006699','5584AA','FF9933','EDF2F2','EFEFEF','DEE3E7','c2cdd6','','','','CBD3D9','BCBCBC','1B7CAD','','','','AEBDC4','006699','FFFFFF','row1','row2','','Verdana,Arial,Helvetica,sans-serif','Verdana,Arial,Helvetica,sans-serif','courier','','','','004c75','004c75','004c75','','',''); +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (2,'PSO [ Wheat ] ','PSO','','','FFFFFF','000000','002266','004411','','','','','','','','','001100','E5CCA5','D4A294','','','','EBE4D9','DAD1C4','','row1','row2','','verdana,serif','arial,helvetica','courier',1,2,3,'000000','','','','',''); +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (3,'PSO [ Ocean ]','PSO','','','DFF5FF','000000','011001','2100cc','','','','','','','','','000000','A7C1CB','7897A8','','','','83D7CC','A0CCE0','','row1','row2','','verdana,serif','arial,helvetica','courier',1,2,3,'','','','','',''); +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (4,'PSO [ Blue ]','PSO','','','FFFFFF','000000','417FB9','4E6172','0000AA','','','','','','','','000000','90BAE2','5195D4','','','','cde3f2','daedFd','','row1','row2','','verdana,serif','arial,helvetica','courier',1,2,3,'000000','','','','',''); +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (5,'PSO [ Cool Midnight ]','PSO', '','','444444','ECECEC','EDF2F2','DDEDED','FFFFFF','EDF2F2','','','','','','','000000','80707F','66555F','','','','60707D','667A80','','row1','row2','','Verdana,serif','Arial,Helvetica,sans-serif','courier',NULL,NULL,NULL,'ECECEC','ECECEC','ECECEC','','',''); +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (6,'PSO [ Pastel Purple ]','PSO','','','FFFFFF','000000','445588','337744','','','','','','','','','CCCCDD','CCCCDD','DDDDEE','','','','EFEFEF','FEFEFE','','row1','row2','','Verdana,serif','Arial,Helvetica,sans-serif','courier',1,2,3,'','','0000EE','','',''); + + +# -- Smilies +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '1', ':D', 'icon_biggrin.gif', 'Very Happy'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '2', ':-D', 'icon_biggrin.gif', 'Very Happy'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '3', ':grin:', 'icon_biggrin.gif', 'Very Happy'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '4', ':)', 'icon_smile.gif', 'Smile'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '5', ':-)', 'icon_smile.gif', 'Smile'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '6', ':smile:', 'icon_smile.gif', 'Smile'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '7', ':(', 'icon_sad.gif', 'Sad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '8', ':-(', 'icon_sad.gif', 'Sad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '9', ':sad:', 'icon_sad.gif', 'Sad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '10', ':o', 'icon_eek.gif', 'Surprised'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '11', ':-o', 'icon_eek.gif', 'Surprised'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '12', ':eek:', 'icon_eek.gif', 'Surprised'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '13', ':?', 'icon_confused.gif', 'Confused'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '14', ':-?', 'icon_confused.gif', 'Confused'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '15', ':???:', 'icon_confused.gif', 'Confused'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '16', '8)', 'icon_cool.gif', 'Cool'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '17', '8-)', 'icon_cool.gif', 'Cool'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '18', ':cool:', 'icon_cool.gif', 'Cool'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '19', ':lol:', 'icon_lol.gif', 'Laughing'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '20', ':x', 'icon_mad.gif', 'Mad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '21', ':-x', 'icon_mad.gif', 'Mad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '22', ':mad:', 'icon_mad.gif', 'Mad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '23', ':P', 'icon_razz.gif', 'Razz'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '24', ':-P', 'icon_razz.gif', 'Razz'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '25', ':razz:', 'icon_razz.gif', 'Razz'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '26', ':oops:', 'icon_redface.gif', 'Embarassed'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '27', ':cry:', 'icon_cry.gif', 'Crying or Very sad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '28', ':evil:', 'icon_evil.gif', 'Evil or Very Mad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '29', ':twisted:', 'icon_twisted.gif', 'Twisted Evil'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '30', ':roll:', 'icon_rolleyes.gif', 'Rolling Eyes'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '31', ':wink:', 'icon_wink.gif', 'Wink'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '32', ';)', 'icon_wink.gif', 'Wink'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '33', ';-)', 'icon_wink.gif', 'Wink'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '34', ':!:', 'icon_exclaim.gif', 'Exclamation'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '35', ':?:', 'icon_question.gif', 'Question'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '36', ':idea:', 'icon_idea.gif', 'Idea'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '37', ':arrow:', 'icon_arrow.gif', 'Arrow'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '38', ':|', 'icon_neutral.gif', 'Neutral'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '39', ':-|', 'icon_neutral.gif', 'Neutral'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '40', ':neutral:', 'icon_neutral.gif', 'Neutral'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '41', ':mrgreen:', 'icon_mrgreen.gif', 'Mr. Green'); diff --git a/phpBB/db/schemas/mysql_schema.sql b/phpBB/db/schemas/mysql_schema.sql new file mode 100644 index 0000000000..8c417f2451 --- /dev/null +++ b/phpBB/db/schemas/mysql_schema.sql @@ -0,0 +1,584 @@ +# +# phpBB2 - MySQL schema +# +# $Id$ +# + +# +# Table structure for table 'phpbb_auth_access' +# +DROP TABLE IF EXISTS phpbb_auth_access; +CREATE TABLE phpbb_auth_access ( + group_id int(11) DEFAULT '0' NOT NULL, + forum_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, + auth_view tinyint(1) DEFAULT '0' NOT NULL, + auth_read tinyint(1) DEFAULT '0' NOT NULL, + auth_post tinyint(1) DEFAULT '0' NOT NULL, + auth_reply tinyint(1) DEFAULT '0' NOT NULL, + auth_edit tinyint(1) DEFAULT '0' NOT NULL, + auth_delete tinyint(1) DEFAULT '0' NOT NULL, + auth_sticky tinyint(1) DEFAULT '0' NOT NULL, + auth_announce tinyint(1) DEFAULT '0' NOT NULL, + auth_vote tinyint(1) DEFAULT '0' NOT NULL, + auth_pollcreate tinyint(1) DEFAULT '0' NOT NULL, + auth_attachments tinyint(1) DEFAULT '0' NOT NULL, + auth_mod tinyint(1) DEFAULT '0' NOT NULL, + KEY group_id (group_id), + KEY forum_id (forum_id) +); + + +# +# Table structure for table 'phpbb_user_group' +# +DROP TABLE IF EXISTS phpbb_user_group; +CREATE TABLE phpbb_user_group ( + group_id int(11) DEFAULT '0' NOT NULL, + user_id int(11) DEFAULT '0' NOT NULL, + user_pending tinyint(1), + KEY group_id (group_id), + KEY user_id (user_id) +); + +# +# Table structure for table 'phpbb_groups' +# +DROP TABLE IF EXISTS phpbb_groups; +CREATE TABLE phpbb_groups ( + group_id int(11) NOT NULL auto_increment, + group_type tinyint(4) DEFAULT '1' NOT NULL, + group_name varchar(40) NOT NULL, + group_description varchar(255) NOT NULL, + group_moderator int(11) DEFAULT '0' NOT NULL, + group_single_user tinyint(1) DEFAULT '1' NOT NULL, + PRIMARY KEY (group_id), + KEY group_single_user (group_single_user) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_banlist' +# +DROP TABLE IF EXISTS phpbb_banlist; +CREATE TABLE phpbb_banlist ( + ban_id mediumint(8) UNSIGNED NOT NULL auto_increment, + ban_userid int(11) NOT NULL, + ban_ip char(8) NOT NULL, + ban_email varchar(255), + PRIMARY KEY (ban_id), + KEY ban_ip_user_id (ban_ip, ban_userid) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_categories' +# +DROP TABLE IF EXISTS phpbb_categories; +CREATE TABLE phpbb_categories ( + cat_id mediumint(8) UNSIGNED NOT NULL auto_increment, + cat_title varchar(100), + cat_order mediumint(8) UNSIGNED NOT NULL, + PRIMARY KEY (cat_id), + KEY cat_order (cat_order) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_config' +# +DROP TABLE IF EXISTS phpbb_config; +CREATE TABLE phpbb_config ( + config_name varchar(255) NOT NULL, + config_value varchar(255) NOT NULL, + PRIMARY KEY (config_name) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_disallow' +# +DROP TABLE IF EXISTS phpbb_disallow; +CREATE TABLE phpbb_disallow ( + disallow_id mediumint(8) UNSIGNED NOT NULL auto_increment, + disallow_username varchar(25), + PRIMARY KEY (disallow_id) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_forum_prune' +# +DROP TABLE IF EXISTS phpbb_forum_prune; +CREATE TABLE phpbb_forum_prune ( + prune_id mediumint(8) UNSIGNED NOT NULL auto_increment, + forum_id mediumint(8) UNSIGNED NOT NULL, + prune_days tinyint(4) UNSIGNED NOT NULL, + prune_freq tinyint(4) UNSIGNED NOT NULL, + PRIMARY KEY(prune_id), + KEY forum_id (forum_id) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_forums' +# +DROP TABLE IF EXISTS phpbb_forums; +CREATE TABLE phpbb_forums ( + forum_id mediumint(8) UNSIGNED NOT NULL auto_increment, + cat_id mediumint(8) UNSIGNED NOT NULL, + forum_name varchar(150), + forum_desc text, + forum_status tinyint(4) DEFAULT '0' NOT NULL, + forum_order mediumint(8) UNSIGNED DEFAULT '1' NOT NULL, + forum_posts mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, + forum_topics mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, + forum_last_post_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, + prune_next int(11), + prune_enable tinyint(1) DEFAULT '1' NOT NULL, + auth_view tinyint(2) DEFAULT '0' NOT NULL, + auth_read tinyint(2) DEFAULT '0' NOT NULL, + auth_post tinyint(2) DEFAULT '0' NOT NULL, + auth_reply tinyint(2) DEFAULT '0' NOT NULL, + auth_edit tinyint(2) DEFAULT '0' NOT NULL, + auth_delete tinyint(2) DEFAULT '0' NOT NULL, + auth_sticky tinyint(2) DEFAULT '0' NOT NULL, + auth_announce tinyint(2) DEFAULT '0' NOT NULL, + auth_vote tinyint(2) DEFAULT '0' NOT NULL, + auth_pollcreate tinyint(2) DEFAULT '0' NOT NULL, + auth_attachments tinyint(2) DEFAULT '0' NOT NULL, + PRIMARY KEY (forum_id), + KEY forums_order (forum_order), + KEY cat_id (cat_id), + KEY forum_last_post_id (forum_last_post_id) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_posts' +# +DROP TABLE IF EXISTS phpbb_posts; +CREATE TABLE phpbb_posts ( + post_id mediumint(8) UNSIGNED NOT NULL auto_increment, + topic_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, + forum_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, + poster_id int(11) DEFAULT '0' NOT NULL, + post_time int(11) DEFAULT '0' NOT NULL, + poster_ip char(8) NOT NULL, + post_username varchar(30), + enable_bbcode tinyint(1) DEFAULT '1' NOT NULL, + enable_html tinyint(1) DEFAULT '0' NOT NULL, + enable_smilies tinyint(1) DEFAULT '1' NOT NULL, + enable_sig tinyint(1) DEFAULT '1' NOT NULL, + bbcode_uid char(10) NOT NULL, + post_edit_time int(11), + post_edit_count smallint(5) UNSIGNED DEFAULT '0' NOT NULL, + PRIMARY KEY (post_id), + KEY forum_id (forum_id), + KEY topic_id (topic_id), + KEY poster_id (poster_id), + KEY post_time (post_time) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_posts_text' +# +DROP TABLE IF EXISTS phpbb_posts_text; +CREATE TABLE phpbb_posts_text ( + post_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, + post_subject varchar(255), + post_text text, + PRIMARY KEY (post_id) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_privmsgs' +# +DROP TABLE IF EXISTS phpbb_privmsgs; +CREATE TABLE phpbb_privmsgs ( + privmsgs_id mediumint(8) UNSIGNED NOT NULL auto_increment, + privmsgs_type tinyint(4) DEFAULT '0' NOT NULL, + privmsgs_subject varchar(255) DEFAULT '0' NOT NULL, + privmsgs_from_userid int(11) DEFAULT '0' NOT NULL, + privmsgs_to_userid int(11) DEFAULT '0' NOT NULL, + privmsgs_date int(11) DEFAULT '0' NOT NULL, + privmsgs_ip char(8) NOT NULL, + privmsgs_enable_bbcode tinyint(1) DEFAULT '1' NOT NULL, + privmsgs_enable_html tinyint(1) DEFAULT '0' NOT NULL, + privmsgs_enable_smilies tinyint(1) DEFAULT '1' NOT NULL, + privmsgs_attach_sig tinyint(1) DEFAULT '1' NOT NULL, + PRIMARY KEY (privmsgs_id), + KEY privmsgs_from_userid (privmsgs_from_userid), + KEY privmsgs_to_userid (privmsgs_to_userid) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_privmsgs_text' +# +DROP TABLE IF EXISTS phpbb_privmsgs_text; +CREATE TABLE phpbb_privmsgs_text ( + privmsgs_text_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, + privmsgs_bbcode_uid char(10) DEFAULT '0' NOT NULL, + privmsgs_text text, + PRIMARY KEY (privmsgs_text_id) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_ranks' +# +DROP TABLE IF EXISTS phpbb_ranks; +CREATE TABLE phpbb_ranks ( + rank_id smallint(5) UNSIGNED NOT NULL auto_increment, + rank_title varchar(50) NOT NULL, + rank_min mediumint(8) DEFAULT '0' NOT NULL, + rank_max mediumint(8) DEFAULT '0' NOT NULL, + rank_special tinyint(1) DEFAULT '0', + rank_image varchar(255), + PRIMARY KEY (rank_id) +); + + +# -------------------------------------------------------- +# +# Table structure for table `phpbb_search_results` +# +DROP TABLE IF EXISTS phpbb_search_results; +CREATE TABLE phpbb_search_results ( + search_id mediumint(8) UNSIGNED NOT NULL default '0', + session_id char(32) NOT NULL default '', + search_array text NOT NULL, + PRIMARY KEY (search_id), + KEY session_id (session_id) +); + + +# -------------------------------------------------------- +# +# Table structure for table `phpbb_search_wordlist` +# +DROP TABLE IF EXISTS phpbb_search_wordlist; +CREATE TABLE phpbb_search_wordlist ( + word_text varchar(50) binary NOT NULL default '', + word_id mediumint(8) UNSIGNED NOT NULL auto_increment, + word_common tinyint(1) unsigned NOT NULL default '0', + PRIMARY KEY (word_text), + KEY word_id (word_id) +); + +# -------------------------------------------------------- +# +# Table structure for table `phpbb_search_wordmatch` +# +DROP TABLE IF EXISTS phpbb_search_wordmatch; +CREATE TABLE phpbb_search_wordmatch ( + post_id mediumint(8) UNSIGNED NOT NULL default '0', + word_id mediumint(8) UNSIGNED NOT NULL default '0', + title_match tinyint(1) NOT NULL default '0', + KEY word_id (word_id) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_sessions' +# +# Note that if you're running 3.23.x you may want to make +# this table a type HEAP. This type of table is stored +# within system memory and therefore for big busy boards +# is likely to be noticeably faster than continually +# writing to disk ... +# +# I must admit I read about this type on vB's board. +# Hey, I never said you cannot get basic ideas from +# competing boards, just that I find it's best not to +# look at any code ... ! +# +DROP TABLE IF EXISTS phpbb_sessions; +CREATE TABLE phpbb_sessions ( + session_id char(32) DEFAULT '' NOT NULL, + session_user_id int(11) DEFAULT '0' NOT NULL, + session_start int(11) DEFAULT '0' NOT NULL, + session_time int(11) DEFAULT '0' NOT NULL, + session_last_visit int(11) DEFAULT '0' NOT NULL, + session_ip char(8) DEFAULT '0' NOT NULL, + session_page int(11) DEFAULT '0' NOT NULL, + session_logged_in tinyint(1) DEFAULT '0' NOT NULL, + PRIMARY KEY (session_id), + KEY session_user_id (session_user_id), + KEY session_id_ip_user_id (session_id, session_ip, session_user_id) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_smilies' +# +DROP TABLE IF EXISTS phpbb_smilies; +CREATE TABLE phpbb_smilies ( + smilies_id smallint(5) UNSIGNED NOT NULL auto_increment, + code varchar(50), + smile_url varchar(100), + emoticon varchar(75), + PRIMARY KEY (smilies_id) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_themes' +# +DROP TABLE IF EXISTS phpbb_themes; +CREATE TABLE phpbb_themes ( + themes_id mediumint(8) UNSIGNED NOT NULL auto_increment, + template_name varchar(30) NOT NULL default '', + style_name varchar(30) NOT NULL default '', + head_stylesheet varchar(100) default NULL, + body_background varchar(100) default NULL, + body_bgcolor varchar(6) default NULL, + body_text varchar(6) default NULL, + body_link varchar(6) default NULL, + body_vlink varchar(6) default NULL, + body_alink varchar(6) default NULL, + body_hlink varchar(6) default NULL, + tr_color1 varchar(6) default NULL, + tr_color2 varchar(6) default NULL, + tr_color3 varchar(6) default NULL, + tr_class1 varchar(25) default NULL, + tr_class2 varchar(25) default NULL, + tr_class3 varchar(25) default NULL, + th_color1 varchar(6) default NULL, + th_color2 varchar(6) default NULL, + th_color3 varchar(6) default NULL, + th_class1 varchar(25) default NULL, + th_class2 varchar(25) default NULL, + th_class3 varchar(25) default NULL, + td_color1 varchar(6) default NULL, + td_color2 varchar(6) default NULL, + td_color3 varchar(6) default NULL, + td_class1 varchar(25) default NULL, + td_class2 varchar(25) default NULL, + td_class3 varchar(25) default NULL, + fontface1 varchar(50) default NULL, + fontface2 varchar(50) default NULL, + fontface3 varchar(50) default NULL, + fontsize1 tinyint(4) default NULL, + fontsize2 tinyint(4) default NULL, + fontsize3 tinyint(4) default NULL, + fontcolor1 varchar(6) default NULL, + fontcolor2 varchar(6) default NULL, + fontcolor3 varchar(6) default NULL, + span_class1 varchar(25) default NULL, + span_class2 varchar(25) default NULL, + span_class3 varchar(25) default NULL, + img_size_poll smallint(5) UNSIGNED, + img_size_privmsg smallint(5) UNSIGNED, + PRIMARY KEY (themes_id) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_themes_name' +# +DROP TABLE IF EXISTS phpbb_themes_name; +CREATE TABLE phpbb_themes_name ( + themes_id smallint(5) UNSIGNED DEFAULT '0' NOT NULL, + tr_color1_name char(50), + tr_color2_name char(50), + tr_color3_name char(50), + tr_class1_name char(50), + tr_class2_name char(50), + tr_class3_name char(50), + th_color1_name char(50), + th_color2_name char(50), + th_color3_name char(50), + th_class1_name char(50), + th_class2_name char(50), + th_class3_name char(50), + td_color1_name char(50), + td_color2_name char(50), + td_color3_name char(50), + td_class1_name char(50), + td_class2_name char(50), + td_class3_name char(50), + fontface1_name char(50), + fontface2_name char(50), + fontface3_name char(50), + fontsize1_name char(50), + fontsize2_name char(50), + fontsize3_name char(50), + fontcolor1_name char(50), + fontcolor2_name char(50), + fontcolor3_name char(50), + span_class1_name char(50), + span_class2_name char(50), + span_class3_name char(50), + PRIMARY KEY (themes_id) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_topics' +# +DROP TABLE IF EXISTS phpbb_topics; +CREATE TABLE phpbb_topics ( + topic_id mediumint(8) UNSIGNED NOT NULL auto_increment, + forum_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, + topic_title char(100) NOT NULL, + topic_poster int(11) DEFAULT '0' NOT NULL, + topic_time int(11) DEFAULT '0' NOT NULL, + topic_views mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, + topic_replies mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, + topic_status tinyint(3) DEFAULT '0' NOT NULL, + topic_vote tinyint(1) DEFAULT '0' NOT NULL, + topic_type tinyint(3) DEFAULT '0' NOT NULL, + topic_last_post_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, + topic_moved_id mediumint(8) UNSIGNED, + PRIMARY KEY (topic_id), + KEY forum_id (forum_id), + KEY topic_moved_id (topic_moved_id), + KEY topic_status (topic_status) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_topics_watch' +# +DROP TABLE IF EXISTS phpbb_topics_watch; +CREATE TABLE phpbb_topics_watch ( + topic_id mediumint(8) UNSIGNED NOT NULL DEFAULT '0', + user_id int(11) NOT NULL DEFAULT '0', + notify_status tinyint(1) NOT NULL default '0', + KEY topic_id (topic_id), + KEY user_id (user_id), + KEY notify_status (notify_status) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_users' +# +DROP TABLE IF EXISTS phpbb_users; +CREATE TABLE phpbb_users ( + user_id int(11) NOT NULL auto_increment, + user_active tinyint(1) DEFAULT '1', + username varchar(25) NOT NULL, + user_password varchar(32) NOT NULL, + user_autologin_key varchar(32), + user_regdate int(11) DEFAULT '0' NOT NULL, + user_level tinyint(4) DEFAULT '0', + user_posts mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, + user_timezone tinyint(4) DEFAULT '0' NOT NULL, + user_style tinyint(4), + user_lang varchar(255), + user_dateformat varchar(14) DEFAULT 'd M Y H:i' NOT NULL, + user_lastvisit int(11) DEFAULT '0' NOT NULL, + user_new_privmsg smallint(5) UNSIGNED DEFAULT '0' NOT NULL, + user_unread_privmsg smallint(5) UNSIGNED DEFAULT '0' NOT NULL, + user_last_privmsg int(11) DEFAULT '0' NOT NULL, + user_emailtime int(11), + user_viewemail tinyint(1), + user_attachsig tinyint(1), + user_allowhtml tinyint(1), + user_allowbbcode tinyint(1), + user_allowsmile tinyint(1), + user_allowavatar tinyint(1) DEFAULT '1' NOT NULL, + user_allow_pm tinyint(1) DEFAULT '1' NOT NULL, + user_allow_viewonline tinyint(1) DEFAULT '1' NOT NULL, + user_notify tinyint(1) DEFAULT '1' NOT NULL, + user_notify_pm tinyint(1) DEFAULT '1' NOT NULL, + user_popup_pm tinyint(1) DEFAULT '0' NOT NULL, + user_rank int(11) DEFAULT '0', + user_avatar varchar(100), + user_avatar_type tinyint(4) DEFAULT '0' NOT NULL, + user_email varchar(255), + user_icq varchar(15), + user_website varchar(100), + user_from varchar(100), + user_sig text, + user_sig_bbcode_uid char(10), + user_aim varchar(255), + user_yim varchar(255), + user_msnm varchar(255), + user_occ varchar(100), + user_interests varchar(255), + user_actkey varchar(32), + user_newpasswd varchar(32), + PRIMARY KEY (user_id) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_vote_desc' +# +DROP TABLE IF EXISTS phpbb_vote_desc; +CREATE TABLE phpbb_vote_desc ( + vote_id mediumint(8) UNSIGNED NOT NULL auto_increment, + topic_id mediumint(8) UNSIGNED NOT NULL DEFAULT '0', + vote_text text NOT NULL, + vote_start int(11) NOT NULL DEFAULT '0', + vote_length int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (vote_id), + KEY topic_id (topic_id) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_vote_results' +# +DROP TABLE IF EXISTS phpbb_vote_results; +CREATE TABLE phpbb_vote_results ( + vote_id mediumint(8) UNSIGNED NOT NULL DEFAULT '0', + vote_option_id tinyint(4) UNSIGNED NOT NULL DEFAULT '0', + vote_option_text varchar(255) NOT NULL, + vote_result int(11) NOT NULL DEFAULT '0', + KEY vote_option_id (vote_option_id), + KEY vote_id (vote_id) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_vote_voters' +# +DROP TABLE IF EXISTS phpbb_vote_voters; +CREATE TABLE phpbb_vote_voters ( + vote_id mediumint(8) UNSIGNED NOT NULL DEFAULT '0', + vote_user_id int(11) NOT NULL DEFAULT '0', + vote_user_ip char(8) NOT NULL, + KEY vote_id (vote_id), + KEY vote_user_id (vote_user_id), + KEY vote_user_ip (vote_user_ip) +); + + +# -------------------------------------------------------- +# +# Table structure for table 'phpbb_words' +# +DROP TABLE IF EXISTS phpbb_words; +CREATE TABLE phpbb_words ( + word_id mediumint(8) UNSIGNED NOT NULL auto_increment, + word char(100) NOT NULL, + replacement char(100) NOT NULL, + PRIMARY KEY (word_id) +); diff --git a/phpBB/db/schemas/oracle_basic.sql b/phpBB/db/schemas/oracle_basic.sql new file mode 100644 index 0000000000..bc951a6297 --- /dev/null +++ b/phpBB/db/schemas/oracle_basic.sql @@ -0,0 +1,181 @@ +/* +* Basic DB data for phpBB2 devel +* +* $Id$ +*/ + +-- Config +INSERT INTO phpbb_config VALUES ('board_disable','0'); +INSERT INTO phpbb_config VALUES ('board_startdate','994190324'); +INSERT INTO phpbb_config VALUES ('sitename','yourdomain.com'); +INSERT INTO phpbb_config VALUES ('cookie_name','phpbb2oracle'); +INSERT INTO phpbb_config VALUES ('cookie_path','/'); +INSERT INTO phpbb_config VALUES ('cookie_domain',''); +INSERT INTO phpbb_config VALUES ('cookie_secure','0'); +INSERT INTO phpbb_config VALUES ('session_length','900'); +INSERT INTO phpbb_config VALUES ('allow_html','0'); +INSERT INTO phpbb_config VALUES ('allow_html_tags','b,i,u,pre'); +INSERT INTO phpbb_config VALUES ('allow_bbcode','1'); +INSERT INTO phpbb_config VALUES ('allow_smilies','1'); +INSERT INTO phpbb_config VALUES ('allow_sig','1'); +INSERT INTO phpbb_config VALUES ('allow_namechange','0'); +INSERT INTO phpbb_config VALUES ('allow_theme_create','0'); +INSERT INTO phpbb_config VALUES ('allow_avatar_local','0'); +INSERT INTO phpbb_config VALUES ('allow_avatar_remote','1'); +INSERT INTO phpbb_config VALUES ('allow_avatar_upload','1'); +INSERT INTO phpbb_config VALUES ('override_user_style','0'); +INSERT INTO phpbb_config VALUES ('posts_per_page','15'); +INSERT INTO phpbb_config VALUES ('topics_per_page','50'); +INSERT INTO phpbb_config VALUES ('hot_threshold','25'); +INSERT INTO phpbb_config VALUES ('max_poll_options','10'); +INSERT INTO phpbb_config VALUES ('max_sig_chars','255'); +INSERT INTO phpbb_config VALUES ('max_inbox_privmsgs','50'); +INSERT INTO phpbb_config VALUES ('max_sentbox_privmsgs','25'); +INSERT INTO phpbb_config VALUES ('max_savebox_privmsgs','50'); +INSERT INTO phpbb_config VALUES ('board_email_sig','Thanks, The Management'); +INSERT INTO phpbb_config VALUES ('board_email','youraddress@yourdomain.com'); +INSERT INTO phpbb_config VALUES ('smtp_delivery','0'); +INSERT INTO phpbb_config VALUES ('smtp_host',''); +INSERT INTO phpbb_config VALUES ('require_activation','0'); +INSERT INTO phpbb_config VALUES ('require_admin_activation','0'); +INSERT INTO phpbb_config VALUES ('flood_interval','15'); +INSERT INTO phpbb_config VALUES ('avatar_filesize','6144'); +INSERT INTO phpbb_config VALUES ('avatar_max_width','80'); +INSERT INTO phpbb_config VALUES ('avatar_max_height','80'); +INSERT INTO phpbb_config VALUES ('avatar_path','images/avatars'); +INSERT INTO phpbb_config VALUES ('smilies_path','images/smiles'); +INSERT INTO phpbb_config VALUES ('default_style','8'); +INSERT INTO phpbb_config VALUES ('default_admin_style','2'); +INSERT INTO phpbb_config VALUES ('default_lang','english'); +INSERT INTO phpbb_config VALUES ('default_dateformat','D M d, Y g:i a'); +INSERT INTO phpbb_config VALUES ('board_timezone','0'); +INSERT INTO phpbb_config VALUES ('prune_enable','1'); +INSERT INTO phpbb_config VALUES ('gzip_compress','1'); + + +-- Categories +INSERT INTO phpbb_categories (cat_id, cat_title, cat_order) VALUES (1, 'Test category 1', 1); + + +-- Forums +INSERT INTO phpbb_forums (forum_id, forum_name, forum_desc, cat_id, forum_order, forum_posts, forum_topics, forum_last_post_id, auth_view, auth_read, auth_post, auth_reply, auth_edit, auth_delete, auth_announce, auth_sticky, auth_pollcreate, auth_vote, auth_attachments) VALUES (1, 'Test Forum 1', 'This is just a test forum, nothing special here.', 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 3, 3, 3, 3, 3); + + +-- Users +INSERT INTO phpbb_users (user_id, username, user_level, user_regdate, user_password, user_autologin_key, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_viewemail, user_style, user_aim, user_yim, user_msnm, user_posts, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_pm, user_notify_pm, user_allow_viewonline, user_rank, user_avatar, user_lang, user_timezone, user_dateformat, user_actkey, user_newpasswd, user_notify, user_active, user_template) VALUES + ( '-1', 'Anonymous', '0', '972086460', '1', '', '', '', '', '', '', '', '', '0', '0', '', '', '', '0', '', '', '', '0', '0', '1', '1', '', '', '', '-8', 'D M d, Y g:i a', '', '', '0', '0'); + +-- username: admin password: admin (change this or remove it once everything is working!) +INSERT INTO phpbb_users (user_id, username, user_level, user_regdate, user_password, user_autologin_key, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_viewemail, user_style, user_aim, user_yim, user_msnm, user_posts, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_pm, user_notify_pm, user_allow_viewonline, user_rank, user_avatar, user_lang, user_timezone, user_dateformat, user_actkey, user_newpasswd, user_notify, user_active) VALUES ( '2', 'Admin', '1', '972086460', '21232f297a57a5a743894a0e4a801fc3', '', 'admin@yourdomain.com', '', '', '', '', '', 'A Signature', '1', '2', '', '', '', '0', '0', '1', '0', '1', '1', '1', '1', '1', '', 'english', '-8', 'd M Y h:i a', '', '', '0', '1'); + + +-- Ranks +INSERT INTO phpbb_ranks (rank_id, rank_title, rank_min, rank_max, rank_special, rank_image) VALUES ( '1', 'Site Admin', '-1', '-1', '1', ''); +INSERT INTO phpbb_ranks (rank_id, rank_title, rank_min, rank_max, rank_special, rank_image) VALUES ( '2', 'Newbie', '0', '9', '0', ''); +INSERT INTO phpbb_ranks (rank_id, rank_title, rank_min, rank_max, rank_special, rank_image) VALUES ( '5', 'Here Often', '10', '49', '0', ''); +INSERT INTO phpbb_ranks (rank_id, rank_title, rank_min, rank_max, rank_special, rank_image) VALUES ( '6', 'Should Get Out More', '50', '199', '0', ''); +INSERT INTO phpbb_ranks (rank_id, rank_title, rank_min, rank_max, rank_special, rank_image) VALUES ( '7', 'Has No Life', '200', '9999', '0', ''); + + +-- Groups +INSERT INTO phpbb_groups (group_id, group_name, group_description, group_single_user) VALUES (1, 'Anonymous', 'Personal User', 1); +INSERT INTO phpbb_groups (group_id, group_name, group_description, group_single_user) VALUES (2, 'Admin', 'Personal User', 1); + + +-- User -> Group +INSERT INTO phpbb_user_group (group_id, user_id, user_pending) VALUES (1, -1, 0); +INSERT INTO phpbb_user_group (group_id, user_id, user_pending) VALUES (2, 2, 0); + + +-- User Access (admin is set as ... an admin) +INSERT INTO phpbb_auth_access (group_id, forum_id, auth_view, auth_read, auth_post, auth_reply, auth_edit, auth_delete, auth_announce, auth_sticky, auth_pollcreate, auth_vote, auth_mod) VALUES (2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1); + + +-- Demo Topic +INSERT INTO phpbb_topics (topic_id, topic_title, topic_poster, topic_time, topic_views, topic_replies, forum_id, topic_status, topic_type, topic_last_post_id) VALUES (1, 'Demo Topic', 2, 972086460, 0, 0, 1, 0, 0, 1); + + +-- Demo Post +INSERT INTO phpbb_posts (post_id, topic_id, forum_id, poster_id, post_time, post_username, poster_ip) VALUES (1, 1, 1, 2, 972086460, '', '7F000001'); +INSERT INTO phpbb_posts_text (post_id, post_subject, post_text) VALUES (1, 'This is the subject', 'This is a demo post in the demo topic, what do you think of it?'); + + +-- Themes +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (1,'Original default','Default','','','','','','','','','','','','','','','','','','','','','CCCCCC','DDDDDD','','','','','','','',NULL,NULL,NULL,'','','','','',''); +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (2,'PSO [ Grey ]','PSO', '','','FFFFFF','000000','002266','004411','','','','','','','','','000000','D2D2D2','BCBCBC','','','','EDEDED','DEDEDE','','row1','row2','','verdana,serif','arial,helvetica','courier',1,2,3,'','','','','',''); +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (3,'PSO [ Wheat ] ','PSO','','','FFFFFF','000000','002266','004411','','','','','','','','','001100','E5CCA5','D4A294','','','','EBE4D9','DAD1C4','','row1','row2','','verdana,serif','arial,helvetica','courier',1,2,3,'000000','','','','',''); +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (4,'PSO [ Ocean ]','PSO','','','DFF5FF','000000','011001','2100cc','','','','','','','','','000000','A7C1CB','7897A8','','','','83D7CC','A0CCE0','','row1','row2','','verdana,serif','arial,helvetica','courier',1,2,3,'','','','','',''); +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (6,'PSO [ Blue ]','PSO','','','FFFFFF','000000','417FB9','4E6172','0000AA','','','','','','','','000000','90BAE2','5195D4','','','','cde3f2','daedFd','','row1','row2','','verdana,serif','arial,helvetica','courier',1,2,3,'000000','','','','',''); +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (7,'PSO [ Cool Midnight ]','PSO', '','','444444','ECECEC','EDF2F2','DDEDED','FFFFFF','EDF2F2','','','','','','','000000','80707F','66555F','','','','60707D','667A80','','row1','row2','','Verdana,serif','Arial,Helvetica,sans-serif','courier',NULL,NULL,NULL,'ECECEC','ECECEC','ECECEC','','',''); +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (8,'PSO [ Pastel Purple ]','PSO','','','FFFFFF','000000','445588','337744','','','','','','','','','CCCCDD','CCCCDD','DDDDEE','','','','EFEFEF','FEFEFE','','row1','row2','','Verdana,serif','Arial,Helvetica,sans-serif','courier',1,2,3,'','','0000EE','','',''); +INSERT INTO phpbb_themes (themes_id, template_name, style_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (9,'subSilver','subSilver','','','E5E5E5','000000','006699','5584AA','FF9933','EDF2F2','EFEFEF','DEE3E7','c2cdd6','','','','CBD3D9','BCBCBC','1B7CAD','','','','AEBDC4','006699','FFFFFF','row1','row2','','Verdana,Arial,Helvetica,sans-serif','Verdana,Arial,Helvetica,sans-serif','courier','','','','004c75','004c75','004c75','','',''); + + +-- Smilies +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '1', ':D', 'icon_biggrin.gif', 'Very Happy'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '2', ':-D', 'icon_biggrin.gif', 'Very Happy'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '3', ':grin:', 'icon_biggrin.gif', 'Very Happy'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '4', ':)', 'icon_smile.gif', 'Smile'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '5', ':-)', 'icon_smile.gif', 'Smile'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '6', ':smile:', 'icon_smile.gif', 'Smile'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '7', ':(', 'icon_sad.gif', 'Sad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '8', ':-(', 'icon_sad.gif', 'Sad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '9', ':sad:', 'icon_sad.gif', 'Sad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '10', ':o', 'icon_eek.gif', 'Surprised'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '11', ':-o', 'icon_eek.gif', 'Surprised'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '12', ':eek:', 'icon_eek.gif', 'Surprised'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '13', ':?', 'icon_confused.gif', 'Confused'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '14', ':-?', 'icon_confused.gif', 'Confused'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '15', ':???:', 'icon_confused.gif', 'Confused'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '16', '8)', 'icon_cool.gif', 'Cool'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '17', '8-)', 'icon_cool.gif', 'Cool'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '18', ':cool:', 'icon_cool.gif', 'Cool'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '19', ':lol:', 'icon_lol.gif', 'Laughing'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '20', ':x', 'icon_mad.gif', 'Mad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '21', ':-x', 'icon_mad.gif', 'Mad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '22', ':mad:', 'icon_mad.gif', 'Mad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '23', ':P', 'icon_razz.gif', 'Razz'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '24', ':-P', 'icon_razz.gif', 'Razz'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '25', ':razz:', 'icon_razz.gif', 'Razz'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '26', ':oops:', 'icon_redface.gif', 'Embarassed'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '27', ':cry:', 'icon_cry.gif', 'Crying or Very sad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '28', ':evil:', 'icon_evil.gif', 'Evil or Very Mad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '29', ':roll:', 'icon_rolleyes.gif', 'Rolling Eyes'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '30', ':wink:', 'icon_wink.gif', 'Wink'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '31', ';)', 'icon_wink.gif', 'Wink'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '32', ';-)', 'icon_wink.gif', 'Wink'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '33', ':!:', 'icon_exclaim.gif', 'Exclamation'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '34', ':?:', 'icon_question.gif', 'Question'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '35', ':idea:', 'icon_idea.gif', 'Idea'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '36', ':arrow:', 'icon_arrow.gif', 'Arrow'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '37', ':|', 'icon_neutral.gif', 'Neutral'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '38', ':-|', 'icon_neutral.gif', 'Neutral'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '39', ':neutral:', 'icon_neutral.gif', 'Neutral'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '40', ':mrgreen:', 'icon_mrgreen.gif', 'Mr. Green'); + +-- Words +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '1', 'asshole', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '2', 'assram*', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '3', 'asswipe', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '4', 'asstool*', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '5', 'bastard', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '6', 'bitch', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '7', 'bollock*', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '8', 'crap*', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '9', '*crap', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '10', 'cunt*', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '11', 'dickweed', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '12', 'dickwad', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '13', 'dickhead', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '14', '*fuck*', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '15', 'fuk*', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '16', 'masturbat*', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '17', 'piss*', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '18', 'prick', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '19', 'pussy', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '20', '*shit*', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '21', 'slut', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '22', 'tits', '*beep*'); +INSERT INTO phpbb_words (word_id, word, replacement) VALUES ( '23', '*wank*', '*beep*'); + +COMMIT; diff --git a/phpBB/db/schemas/oracle_schema.sql b/phpBB/db/schemas/oracle_schema.sql new file mode 100644 index 0000000000..cbfc0e3139 --- /dev/null +++ b/phpBB/db/schemas/oracle_schema.sql @@ -0,0 +1,522 @@ +/* + phpBB2 Oracle 8i DB schema - (c) 2001 The phpBB Group + + $Id$ +*/ + +/* + This first section is optional, however its probably the best method + of running phpBB on Oracle. If you already have a tablespace and user created + for phpBB you can leave this section commented out! + + The first set of statements create a phpBB tablespace and a phpBB user, + make sure you change the password of the phpBB user befor you run this script!! +*/ + +/* +CREATE TABLESPACE phpbb + DATAFILE 'E:/web/Oracle8i/ORADATA/phpbb01.dbf' + SIZE 10M + AUTOEXTEND ON NEXT 10M + MAXSIZE 100M; + +CREATE USER phpbb + IDENTIFIED BY phpbb_password + DEFAULT TABLESPACE phpbb + TEMPORARY TABLESPACE temp; + +GRANT CREATE SESSION TO phpbb; +GRANT CREATE TABLE TO phpbb; +GRANT CREATE SEQUENCE TO phpbb; +GRANT CREATE TRIGGER TO phpbb; + +ALTER USER phpbb QUOTA unlimited ON phpbb; + +COMMIT; +DISCONNECT; + +CONNECT phpbb/phpbb_password; +*/ + + + +CREATE SEQUENCE phpbb_banlist_id_seq increment by 1 start with 2 minvalue 0; +CREATE SEQUENCE phpbb_categories_id_seq increment by 1 start with 2 minvalue 0; +CREATE SEQUENCE phpbb_config_id_seq increment by 1 start with 2 minvalue 0; +CREATE SEQUENCE phpbb_disallow_id_seq increment by 1 start with 2 minvalue 0; +CREATE SEQUENCE phpbb_forums_id_seq increment by 1 start with 2 minvalue 0; +CREATE SEQUENCE phpbb_posts_id_seq increment by 1 start with 2 minvalue 0; +CREATE SEQUENCE phpbb_privmsgs_id_seq increment by 1 start with 2 minvalue 0; +CREATE SEQUENCE phpbb_ranks_id_seq increment by 1 start with 2 minvalue 0; +CREATE SEQUENCE phpbb_smilies_id_seq increment by 1 start with 2 minvalue 0; +CREATE SEQUENCE phpbb_themes_id_seq increment by 1 start with 2 minvalue 0; +CREATE SEQUENCE phpbb_topics_id_seq increment by 1 start with 2 minvalue 0; +CREATE SEQUENCE phpbb_users_id_seq increment by 1 start with 2 minvalue 0; +CREATE SEQUENCE phpbb_words_id_seq increment by 1 start with 2 minvalue 0; +CREATE SEQUENCE phpbb_groups_id_seq increment by 1 start with 2 minvalue 0; +CREATE SEQUENCE phpbb_forum_prune_id_seq increment by 1 start with 2 minvalue 0; +CREATE SEQUENCE phpbb_vote_desc_id_seq increment by 1 start with 2 minvalue 0; + + +/* -------------------------------------------------------- + Table structure for table phpbb_auth_access +-------------------------------------------------------- */ +CREATE TABLE phpbb_auth_access ( + group_id number(4) DEFAULT '0' NOT NULL, + forum_id number(4) DEFAULT '0' NOT NULL, + auth_view number(4) DEFAULT '0' NOT NULL, + auth_read number(4) DEFAULT '0' NOT NULL, + auth_post number(4) DEFAULT '0' NOT NULL, + auth_reply number(4) DEFAULT '0' NOT NULL, + auth_edit number(4) DEFAULT '0' NOT NULL, + auth_delete number(4) DEFAULT '0' NOT NULL, + auth_announce number(4) DEFAULT '0' NOT NULL, + auth_sticky number(4) DEFAULT '0' NOT NULL, + auth_pollcreate number(4) DEFAULT '0' NOT NULL, + auth_attachments number(4) DEFAULT '0' NOT NULL, + auth_vote number(4) DEFAULT '0' NOT NULL, + auth_mod number(4) DEFAULT '0' NOT NULL, + CONSTRAINT phpbb_auth_access_pkey PRIMARY KEY (group_id) +); +CREATE INDEX group_phpbb_auth_access_index ON phpbb_auth_access (forum_id); + + +/* -------------------------------------------------------- + Table structure for table phpbb_groups +-------------------------------------------------------- */ +CREATE TABLE phpbb_groups ( + group_id number(4) NOT NULL, + group_name varchar(40) NOT NULL, + group_type number(2) DEFAULT '1' NOT NULL, + group_description varchar(255) NOT NULL, + group_moderator number(4) DEFAULT '0' NOT NULL, + group_single_user number(4) DEFAULT '0' NOT NULL, + CONSTRAINT phpbb_groups_pkey PRIMARY KEY (group_id) +); + +/* -------------------------------------------------------- + Table structure for table phpbb_banlist +-------------------------------------------------------- */ +CREATE TABLE phpbb_banlist ( + ban_id number(4) NOT NULL, + ban_userid number(4), + ban_ip char(8), + ban_email varchar(255), + CONSTRAINT phpbb_banlist_pkey PRIMARY KEY (ban_id) +); +CREATE INDEX ban_userid_phpbb_banlist_index ON phpbb_banlist (ban_userid); + + +/* -------------------------------------------------------- + Table structure for table phpbb_categories +-------------------------------------------------------- */ +CREATE TABLE phpbb_categories ( + cat_id number(4) NOT NULL, + cat_title varchar(100), + cat_order number(4), + CONSTRAINT phpbb_categories_pkey PRIMARY KEY (cat_id) +); + + +/* -------------------------------------------------------- + Table structure for table phpbb_config +-------------------------------------------------------- */ +CREATE TABLE phpbb_config ( + config_name varchar(255) NOT NULL, + config_value varchar(255), + CONSTRAINT phpbb_config_pkey PRIMARY KEY (config_name) +); + + +/* -------------------------------------------------------- + Table structure for table phpbb_disallow +-------------------------------------------------------- */ +CREATE TABLE phpbb_disallow ( + disallow_id number(4) NOT NULL, + disallow_username varchar(25), + CONSTRAINT phpbb_disallow_pkey PRIMARY KEY (disallow_id) +); + + +/* -------------------------------------------------------- + Table structure for table phpbb_forums +-------------------------------------------------------- */ +CREATE TABLE phpbb_forums ( + forum_id number(4) NOT NULL, + cat_id number(4), + forum_name varchar(150), + forum_desc varchar(2000), + forum_status number(4) DEFAULT '0' NOT NULL, + forum_order number(4) DEFAULT '1' NOT NULL, + forum_posts number(4) DEFAULT '0' NOT NULL, + forum_topics number(4) DEFAULT '0' NOT NULL, + forum_last_post_id number(4) DEFAULT '0' NOT NULL, + prune_enable number(4) DEFAULT '1' NOT NULL, + prune_next number(4), + auth_view number(4) DEFAULT '0' NOT NULL, + auth_read number(4) DEFAULT '0' NOT NULL, + auth_post number(4) DEFAULT '0' NOT NULL, + auth_reply number(4) DEFAULT '0' NOT NULL, + auth_edit number(4) DEFAULT '0' NOT NULL, + auth_delete number(4) DEFAULT '0' NOT NULL, + auth_announce number(4) DEFAULT '0' NOT NULL, + auth_sticky number(4) DEFAULT '0' NOT NULL, + auth_pollcreate number(4) DEFAULT '0' NOT NULL, + auth_vote number(4) DEFAULT '0' NOT NULL, + auth_attachments number(4) DEFAULT '0' NOT NULL, + CONSTRAINT phpbb_forums_pkey PRIMARY KEY (forum_id) +); +CREATE INDEX cat_id_phpbb_forums_index ON phpbb_forums (cat_id); +CREATE INDEX forums_order_phpbb_forums ON phpbb_forums (forum_order); + + +/* -------------------------------------------------------- + Table structure for table phpbb_forum_prune +-------------------------------------------------------- */ +CREATE TABLE phpbb_forum_prune ( + prune_id number(4) NOT NULL, + forum_id number(4) NOT NULL, + prune_days number(4) NOT NULL, + prune_freq number(4) NOT NULL, + CONSTRAINT phpbb_forum_prune_pkey PRIMARY KEY (prune_id) +); +CREATE INDEX forum_id_phpbb_forum_prune ON phpbb_forum_prune (forum_id); + + +/* -------------------------------------------------------- + Table structure for table phpbb_posts +-------------------------------------------------------- */ +CREATE TABLE phpbb_posts ( + post_id number(4) NOT NULL, + topic_id number(4) DEFAULT '0' NOT NULL, + forum_id number(4) DEFAULT '0' NOT NULL, + poster_id number(4) DEFAULT '0' NOT NULL, + post_time number(11) DEFAULT '0' NOT NULL, + post_username varchar(30), + poster_ip char(8) DEFAULT '' NOT NULL, + enable_bbcode number(4) DEFAULT '1' NOT NULL, + enable_html number(4) DEFAULT '0' NOT NULL, + enable_smilies number(4) DEFAULT '1' NOT NULL, + enable_sig number(4) DEFAULT '1' NOT NULL, + bbcode_uid varchar(10) DEFAULT '', + post_edit_time number(11), + post_edit_count number(4) DEFAULT '0' NOT NULL, + CONSTRAINT phpbb_posts_pkey PRIMARY KEY (post_id) +); +CREATE INDEX forum_id_phpbb_posts_index ON phpbb_posts (forum_id); +CREATE INDEX post_time_phpbb_posts_index ON phpbb_posts (post_time); +CREATE INDEX poster_id_phpbb_posts_index ON phpbb_posts (poster_id); +CREATE INDEX topic_id_phpbb_posts_index ON phpbb_posts (topic_id); + + +/* -------------------------------------------------------- + Table structure for table phpbb_posts_text +-------------------------------------------------------- */ +CREATE TABLE phpbb_posts_text ( + post_id number(4) DEFAULT '0' NOT NULL, + post_subject varchar(255), + post_text varchar(2000), + CONSTRAINT phpbb_posts_text_pkey PRIMARY KEY (post_id) +); + + +/* -------------------------------------------------------- + Table structure for table phpbb_privmsgs +-------------------------------------------------------- */ +CREATE TABLE phpbb_privmsgs ( + privmsgs_id number(4) NOT NULL, + privmsgs_type number(4) DEFAULT '0' NOT NULL, + privmsgs_subject varchar(255) DEFAULT '0' NOT NULL, + privmsgs_from_userid number(4) DEFAULT '0' NOT NULL, + privmsgs_to_userid number(4) DEFAULT '0' NOT NULL, + privmsgs_date number(4) DEFAULT '0' NOT NULL, + privmsgs_ip char(8) NOT NULL, + privmsgs_enable_bbcode number(1) DEFAULT '1' NOT NULL, + privmsgs_enable_html number(1) DEFAULT '0' NOT NULL, + privmsgs_enable_smilies number(1) DEFAULT '1' NOT NULL, + privmsgs_attach_sig number(1) DEFAULT '1' NOT NULL, + CONSTRAINT phpbb_privmsgs_pkey PRIMARY KEY (privmsgs_id) +); +CREATE INDEX privmsgs_from_userid_index ON phpbb_privmsgs (privmsgs_from_userid); +CREATE INDEX privmsgs_to_userid_index ON phpbb_privmsgs (privmsgs_to_userid); + + +/* -------------------------------------------------------- + Table structure for table phpbb_privmsgs_text +-------------------------------------------------------- */ +CREATE TABLE phpbb_privmsgs_text ( + privmsgs_text_id number(4) DEFAULT '0' NOT NULL, + privmsgs_bbcode_uid char(10) DEFAULT '0' NOT NULL, + privmsgs_text varchar(2000), + CONSTRAINT phpbb_privmsgs_text_pkey PRIMARY KEY (privmsgs_text_id) +); + + +/* -------------------------------------------------------- + Table structure for table phpbb_ranks +-------------------------------------------------------- */ +CREATE TABLE phpbb_ranks ( + rank_id number(4) NOT NULL, + rank_title varchar(50) DEFAULT '' NOT NULL, + rank_min number(4) DEFAULT '0' NOT NULL, + rank_max number(4) DEFAULT '0' NOT NULL, + rank_special number(4) DEFAULT '0', + rank_image varchar(255), + CONSTRAINT phpbb_ranks_pkey PRIMARY KEY (rank_id) +); +CREATE INDEX rank_max_phpbb_ranks_index ON phpbb_ranks (rank_max); +CREATE INDEX rank_min_phpbb_ranks_index ON phpbb_ranks (rank_min); + + +/* -------------------------------------------------------- + Table structure for table phpbb_session +-------------------------------------------------------- */ +CREATE TABLE phpbb_sessions ( + session_id char(32) DEFAULT '0' NOT NULL, + session_user_id number(11) DEFAULT '0' NOT NULL, + session_start number(11) DEFAULT '0' NOT NULL, + session_time number(11) DEFAULT '0' NOT NULL, + session_last_visit number(11) DEFAULT '0' NOT NULL, + session_ip char(8) DEFAULT '0' NOT NULL, + session_page number(11) DEFAULT '0' NOT NULL, + session_logged_in number(11) DEFAULT '0' NOT NULL, + CONSTRAINT phpbb_sessions_pkey PRIMARY KEY (session_id) +); +CREATE INDEX session_id_ip_user_id ON phpbb_sessions (session_id, session_ip, session_user_id); + + +/* -------------------------------------------------------- + Table structure for table phpbb_smilies +-------------------------------------------------------- */ +CREATE TABLE phpbb_smilies ( + smilies_id number(4) NOT NULL, + code varchar(50), + smile_url varchar(100), + emoticon varchar(75), + CONSTRAINT phpbb_smilies_pkey PRIMARY KEY (smilies_id) +); + + +/* -------------------------------------------------------- + Table structure for table phpbb_themes +-------------------------------------------------------- */ +CREATE TABLE phpbb_themes ( + themes_id number(4) NOT NULL, + style_name varchar(30), + template_name varchar(30) DEFAULT '' NOT NULL, + head_stylesheet varchar(100), + body_background varchar(100), + body_bgcolor char(6), + body_text char(6), + body_link char(6), + body_vlink char(6), + body_alink char(6), + body_hlink char(6), + tr_color1 char(6), + tr_color2 char(6), + tr_color3 char(6), + tr_class1 varchar(25), + tr_class2 varchar(25), + tr_class3 varchar(25), + th_color1 char(6), + th_color2 char(6), + th_color3 char(6), + th_class1 varchar(25), + th_class2 varchar(25), + th_class3 varchar(25), + td_color1 char(6), + td_color2 char(6), + td_color3 char(6), + td_class1 varchar(25), + td_class2 varchar(25), + td_class3 varchar(25), + fontface1 varchar(25), + fontface2 varchar(25), + fontface3 varchar(25), + fontsize1 number(4), + fontsize2 number(4), + fontsize3 number(4), + fontcolor1 char(6), + fontcolor2 char(6), + fontcolor3 char(6), + span_class1 varchar(25), + span_class2 varchar(25), + span_class3 varchar(25), + CONSTRAINT phpbb_themes_pkey PRIMARY KEY (themes_id) +); + + +/* -------------------------------------------------------- + Table structure for table phpbb_themes_name +-------------------------------------------------------- */ +CREATE TABLE phpbb_themes_name ( + themes_id number(4) DEFAULT '0' NOT NULL, + tr_color1_name varchar(50), + tr_color2_name varchar(50), + tr_color3_name varchar(50), + tr_class1_name varchar(50), + tr_class2_name varchar(50), + tr_class3_name varchar(50), + th_color1_name varchar(50), + th_color2_name varchar(50), + th_color3_name varchar(50), + th_class1_name varchar(50), + th_class2_name varchar(50), + th_class3_name varchar(50), + td_color1_name varchar(50), + td_color2_name varchar(50), + td_color3_name varchar(50), + td_class1_name varchar(50), + td_class2_name varchar(50), + td_class3_name varchar(50), + fontface1_name varchar(50), + fontface2_name varchar(50), + fontface3_name varchar(50), + fontsize1_name varchar(50), + fontsize2_name varchar(50), + fontsize3_name varchar(50), + fontcolor1_name varchar(50), + fontcolor2_name varchar(50), + fontcolor3_name varchar(50), + span_class1_name varchar(50), + span_class2_name varchar(50), + span_class3_name varchar(50), + CONSTRAINT phpbb_themes_name_pkey PRIMARY KEY (themes_id) +); + + +/* -------------------------------------------------------- + Table structure for table phpbb_topics +-------------------------------------------------------- */ +CREATE TABLE phpbb_topics ( + topic_id number(4) NOT NULL, + topic_title varchar(100) DEFAULT '' NOT NULL, + topic_poster number(4) DEFAULT '0' NOT NULL, + topic_time number(11) DEFAULT '0' NOT NULL, + topic_views number(4) DEFAULT '0' NOT NULL, + topic_replies number(4) DEFAULT '0' NOT NULL, + forum_id number(4) DEFAULT '0' NOT NULL, + topic_status number(4) DEFAULT '0' NOT NULL, + topic_vote number(4) DEFAULT '0' NOT NULL, + topic_type number(4) DEFAULT '0' NOT NULL, + topic_moved_id number(4), + topic_last_post_id number(4) DEFAULT '0' NOT NULL, + CONSTRAINT phpbb_topics_pkey PRIMARY KEY (topic_id) +); +CREATE INDEX phpbb_topics_index ON phpbb_topics (forum_id, topic_id); +CREATE INDEX forum_id_phpbb_topics_index ON phpbb_topics (forum_id); + +/* -------------------------------------------------------- + Table structure for table phpbb_topics_watch +-------------------------------------------------------- */ +CREATE TABLE phpbb_topics_watch ( + topic_id number(4), + user_id number(4), + notify_status number(4) DEFAULT '0' NOT NULL +); +CREATE INDEX phpbb_topics_watch_index ON phpbb_topics_watch (topic_id, user_id); + + +/* -------------------------------------------------------- + Table structure for table phpbb_user_group +-------------------------------------------------------- */ +CREATE TABLE phpbb_user_group ( + group_id number(4) DEFAULT '0' NOT NULL, + user_id number(4) DEFAULT '0' NOT NULL, + user_pending number(4) +); +CREATE INDEX group_id_phpbb_user_group ON phpbb_user_group (group_id); +CREATE INDEX user_id_phpbb_user_group_index ON phpbb_user_group (user_id); + + +/* -------------------------------------------------------- + Table structure for table phpbb_users +-------------------------------------------------------- */ +CREATE TABLE phpbb_users ( + user_id number(4) NOT NULL, + user_active number(4), + username varchar(25) DEFAULT '' NOT NULL, + user_regdate number(11) DEFAULT '0' NOT NULL, + user_password varchar(32) DEFAULT '' NOT NULL, + user_autologin_key varchar(32), + user_email varchar(255), + user_icq varchar(15), + user_website varchar(100), + user_occ varchar(100), + user_from varchar(100), + user_interests varchar(255), + user_sig varchar(2000), + user_sig_bbcode_uid char(10), + user_style number(4), + user_aim varchar(255), + user_yim varchar(255), + user_msnm varchar(255), + user_posts number(4) DEFAULT '0' NOT NULL, + user_viewemail number(4), + user_attachsig number(4), + user_allowhtml number(4), + user_allowbbcode number(4), + user_allowsmile number(4), + user_allow_pm number(4) DEFAULT '1' NOT NULL, + user_allowavatar number(4) DEFAULT '1' NOT NULL, + user_allow_viewonline number(4) DEFAULT '1' NOT NULL, + user_rank number(4) DEFAULT '0', + user_avatar varchar(100), + user_level number(4) DEFAULT '1', + user_lang varchar(255), + user_timezone number(4) DEFAULT '0' NOT NULL, + user_dateformat varchar(14) DEFAULT 'd M Y H:m' NOT NULL, + user_notify_pm number(4) DEFAULT '1' NOT NULL, + user_notify number(4), + user_actkey varchar(32), + user_newpasswd varchar(32), + CONSTRAINT phpbb_users_pkey PRIMARY KEY (user_id) +); + +/* -------------------------------------------------------- + Table structure for table phpbb_vote_desc +-------------------------------------------------------- */ +CREATE TABLE phpbb_vote_desc ( + vote_id number(4) NOT NULL, + topic_id number(4) DEFAULT '0' NOT NULL, + vote_text varchar2(4000) NOT NULL, + vote_start number(4) DEFAULT '0' NOT NULL, + vote_length number(4) DEFAULT '0' NOT NULL, + CONSTRAINT phpbb_vote_dsc_pkey PRIMARY KEY (vote_id) +); +CREATE INDEX topic_id_phpbb_vote_desc_index ON phpbb_vote_desc (topic_id); + +/* -------------------------------------------------------- + Table structure for table phpbb_vote_results +-------------------------------------------------------- */ +CREATE TABLE phpbb_vote_results ( + vote_id number(4) DEFAULT '0' NOT NULL, + vote_option_id number(4) DEFAULT '0' NOT NULL, + vote_option_text varchar(255) NOT NULL, + vote_result number(4) DEFAULT '0' NOT NULL +); +CREATE INDEX option_id_vote_results_index ON phpbb_vote_results (vote_option_id); + +/* -------------------------------------------------------- + Table structure for table phpbb_vote_voters +-------------------------------------------------------- */ +CREATE TABLE phpbb_vote_voters ( + vote_id number(4) DEFAULT '0' NOT NULL, + vote_user_id number(4) DEFAULT '0' NOT NULL, + vote_user_ip char(8) NOT NULL +); +CREATE INDEX vote_id_vote_voters_index ON phpbb_vote_voters (vote_id); +CREATE INDEX vote_user_id_vote_voters_index ON phpbb_vote_voters (vote_user_id); +CREATE INDEX vote_user_ip_vote_voters_index ON phpbb_vote_voters (vote_user_ip); + +/* -------------------------------------------------------- + Table structure for table phpbb_words +-------------------------------------------------------- */ +CREATE TABLE phpbb_words ( + word_id number(4) NOT NULL, + word varchar(100) DEFAULT '' NOT NULL, + replacement varchar(100) DEFAULT '' NOT NULL, + CONSTRAINT phpbb_words_pkey PRIMARY KEY (word_id) +); + +COMMIT; diff --git a/phpBB/db/schemas/oracle_triggers.sql b/phpBB/db/schemas/oracle_triggers.sql new file mode 100644 index 0000000000..f22fa46f66 --- /dev/null +++ b/phpBB/db/schemas/oracle_triggers.sql @@ -0,0 +1,217 @@ +/* + phpBB2 Oracle 8i Triggers File - (c) 2001 The phpBB Group + + $Id$ + */ + +/* -------------------------------------------------------- + Trigger structure for table phpbb_groups +-------------------------------------------------------- */ +CREATE OR REPLACE TRIGGER "PHPBB"."SET_PHPBB_GROUPS_ID_SEQ" +BEFORE INSERT OR UPDATE OF "GROUP_ID" ON "PHPBB"."PHPBB_GROUPS" +REFERENCING OLD AS OLD NEW AS NEW +FOR EACH ROW +BEGIN +SELECT PHPBB_GROUPS_ID_SEQ.NEXTVAL +INTO :NEW.group_id +FROM DUAL; +END; +/ + +/* -------------------------------------------------------- + Trigger structure for table phpbb_banlist +-------------------------------------------------------- */ +CREATE OR REPLACE TRIGGER "PHPBB"."SET_PHPBB_BANLIST_ID_SEQ" +BEFORE INSERT OR UPDATE OF "BAN_ID" ON "PHPBB"."PHPBB_BANLIST" +REFERENCING OLD AS OLD NEW AS NEW +FOR EACH ROW +BEGIN +SELECT PHPBB_BANLIST_ID_SEQ.NEXTVAL +INTO :NEW.ban_id +FROM DUAL; +END; +/ + +/* -------------------------------------------------------- + Trigger structure for table phpbb_categories +-------------------------------------------------------- */ +CREATE OR REPLACE TRIGGER "PHPBB"."SET_CATEGORIES_ID_SEQ" +BEFORE INSERT OR UPDATE OF "CAT_ID" ON "PHPBB"."PHPBB_CATEGORIES" +REFERENCING OLD AS OLD NEW AS NEW +FOR EACH ROW +BEGIN +SELECT PHPBB_CATEGORIES_ID_SEQ.NEXTVAL +INTO :NEW.cat_id +FROM DUAL; +END; +/ + +/* -------------------------------------------------------- + Trigger structure for table phpbb_disallow +-------------------------------------------------------- */ +CREATE OR REPLACE TRIGGER "PHPBB"."SET_DISALLOW_ID_SEQ" +BEFORE INSERT OR UPDATE OF "DISALLOW_ID" ON "PHPBB"."PHPBB_DISALLOW" +REFERENCING OLD AS OLD NEW AS NEW +FOR EACH ROW +BEGIN +SELECT PHPBB_DISALLOW_ID_SEQ.NEXTVAL +INTO :NEW.disallow_id +FROM DUAL; +END; +/ + +/* -------------------------------------------------------- + Trigger structure for table phpbb_forums +-------------------------------------------------------- */ +CREATE OR REPLACE TRIGGER "PHPBB"."SET_FORUMS_ID_SEQ" +BEFORE INSERT OR UPDATE OF "FORUM_ID" ON "PHPBB"."PHPBB_FORUMS" +REFERENCING OLD AS OLD NEW AS NEW +FOR EACH ROW +BEGIN +SELECT PHPBB_FORUMS_ID_SEQ.NEXTVAL +INTO :NEW.forum_id +FROM DUAL; +END; +/ + +/* -------------------------------------------------------- + Trigger structure for table phpbb_forum_prune +-------------------------------------------------------- */ +CREATE OR REPLACE TRIGGER "PHPBB"."SET_FORUM_PRUNE_ID_SEQ" +BEFORE INSERT OR UPDATE OF "PRUNE_ID" ON "PHPBB"."PHPBB_FORUM_PRUNE" +REFERENCING OLD AS OLD NEW AS NEW +FOR EACH ROW +BEGIN +SELECT PHPBB_FORUM_PRUNE_ID_SEQ.NEXTVAL +INTO :NEW.prune_id +FROM DUAL; +END; +/ + +/* -------------------------------------------------------- + Trigger structure for table phpbb_posts +-------------------------------------------------------- */ +CREATE OR REPLACE TRIGGER "PHPBB"."SET_POSTS_ID_SEQ" +BEFORE INSERT OR UPDATE OF "POST_ID" ON "PHPBB"."PHPBB_POSTS" +REFERENCING OLD AS OLD NEW AS NEW +FOR EACH ROW +BEGIN +SELECT PHPBB_POSTS_ID_SEQ.NEXTVAL +INTO :NEW.post_id +FROM DUAL; +END; +/ + +/* -------------------------------------------------------- + Trigger structure for table phpbb_privmsgs +-------------------------------------------------------- */ +CREATE OR REPLACE TRIGGER "PHPBB"."SET_PRIVMSGS_ID_SEQ" +BEFORE INSERT OR UPDATE OF "PRIVMSGS_ID" ON "PHPBB"."PHPBB_PRIVMSGS" +REFERENCING OLD AS OLD NEW AS NEW +FOR EACH ROW +BEGIN +SELECT PHPBB_PRIVMSGS_ID_SEQ.NEXTVAL +INTO :NEW.privmsgs_id +FROM DUAL; +END; +/ + +/* -------------------------------------------------------- + Trigger structure for table phpbb_ranks +-------------------------------------------------------- */ +CREATE OR REPLACE TRIGGER "PHPBB"."SET_RANK_ID_SEQ" +BEFORE INSERT OR UPDATE OF "RANK_ID" ON "PHPBB"."PHPBB_RANKS" +REFERENCING OLD AS OLD NEW AS NEW +FOR EACH ROW +BEGIN +SELECT PHPBB_RANKS_ID_SEQ.NEXTVAL +INTO :NEW.rank_id +FROM DUAL; +END; +/ + +/* -------------------------------------------------------- + Trigger structure for table phpbb_smilies +-------------------------------------------------------- */ +CREATE OR REPLACE TRIGGER "PHPBB"."SET_SMILIES_ID_SEQ" +BEFORE INSERT OR UPDATE OF "SMILIES_ID" ON "PHPBB"."PHPBB_SMILIES" +REFERENCING OLD AS OLD NEW AS NEW +FOR EACH ROW +BEGIN +SELECT PHPBB_SMILIES_ID_SEQ.NEXTVAL +INTO :NEW.smilies_id +FROM DUAL; +END; +/ + +/* -------------------------------------------------------- + Trigger structure for table phpbb_themes +-------------------------------------------------------- */ +CREATE OR REPLACE TRIGGER "PHPBB"."SET_THEMES_ID_SEQ" +BEFORE INSERT OR UPDATE OF "THEMES_ID" ON "PHPBB"."PHPBB_THEMES" +REFERENCING OLD AS OLD NEW AS NEW +FOR EACH ROW +BEGIN +SELECT PHPBB_THEMES_ID_SEQ.NEXTVAL +INTO :NEW.themes_id +FROM DUAL; +END; +/ + +/* -------------------------------------------------------- + Trigger structure for table phpbb_topics +-------------------------------------------------------- */ +CREATE OR REPLACE TRIGGER "PHPBB"."SET_TOPICS_ID_SEQ" +BEFORE INSERT OR UPDATE OF "TOPIC_ID" ON "PHPBB"."PHPBB_TOPICS" +REFERENCING OLD AS OLD NEW AS NEW +FOR EACH ROW +BEGIN +SELECT PHPBB_TOPICS_ID_SEQ.NEXTVAL +INTO :NEW.topic_id +FROM DUAL; +END; +/ + +/* -------------------------------------------------------- + Trigger structure for table phpbb_users +-------------------------------------------------------- */ +CREATE OR REPLACE TRIGGER "PHPBB"."SET_USERS_ID_SEQ" +BEFORE INSERT OR UPDATE OF "USER_ID" ON "PHPBB"."PHPBB_USERS" +REFERENCING OLD AS OLD NEW AS NEW +FOR EACH ROW +BEGIN +SELECT PHPBB_USERS_ID_SEQ.NEXTVAL +INTO :NEW.user_id +FROM DUAL; +END; +/ + +/* -------------------------------------------------------- + Trigger structure for table phpbb_vote_desc +-------------------------------------------------------- */ +CREATE OR REPLACE TRIGGER "PHPBB"."SET_VOTE_DESC_ID_SEQ" +BEFORE INSERT OR UPDATE OF "VOTE_ID" ON "PHPBB"."PHPBB_VOTE_DESC" +REFERENCING OLD AS OLD NEW AS NEW +FOR EACH ROW +BEGIN +SELECT PHPBB_VOTE_DESC_ID_SEQ.NEXTVAL +INTO :NEW.vote_id +FROM DUAL; +END; +/ + +/* -------------------------------------------------------- + Trigger structure for table phpbb_words +-------------------------------------------------------- */ +CREATE OR REPLACE TRIGGER "PHPBB"."SET_WORDS_ID_SEQ" +BEFORE INSERT OR UPDATE OF "WORD_ID" ON "PHPBB"."PHPBB_WORDS" +REFERENCING OLD AS OLD NEW AS NEW +FOR EACH ROW +BEGIN +SELECT PHPBB_WORDS_ID_SEQ.NEXTVAL +INTO :NEW.word_id +FROM DUAL; +END; +/ + +COMMIT; diff --git a/phpBB/db/schemas/postgres_basic.sql b/phpBB/db/schemas/postgres_basic.sql new file mode 100644 index 0000000000..1a6719fa63 --- /dev/null +++ b/phpBB/db/schemas/postgres_basic.sql @@ -0,0 +1,149 @@ +/* +* Basic DB data for phpBB2 devel +* +* $Id$ +*/ + +-- Config +INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_disable','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('sitename','yourdomain.com'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('site_desc','A _little_ text to describe your forum'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('cookie_name','phpbb2postgres'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('cookie_path','/'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('cookie_domain',''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('cookie_secure','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('session_length','900'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_html','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_html_tags','b,i,u,pre'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_bbcode','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_smilies','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_sig','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_namechange','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_theme_create','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_avatar_local','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_avatar_remote','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('allow_avatar_upload','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('override_user_style','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('posts_per_page','15'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('topics_per_page','50'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('hot_threshold','25'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_poll_options','10'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_sig_chars','255'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_inbox_privmsgs','50'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_sentbox_privmsgs','25'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('max_savebox_privmsgs','50'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_email_sig','Thanks, The Management'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_email','youraddress@yourdomain.com'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_delivery','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_host',''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_username',''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_password',''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('require_activation','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('flood_interval','15'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_email_form','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('avatar_filesize','6144'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('avatar_max_width','80'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('avatar_max_height','80'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('avatar_path','images/avatars'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('avatar_gallery_path','images/avatars/gallery'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('smilies_path','images/smiles'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('default_style','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('default_admin_style','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('default_dateformat','D M d, Y g:i a'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_timezone','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('prune_enable','1'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('privmsg_disable','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('gzip_compress','0'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('coppa_fax', ''); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('coppa_mail', ''); + + +-- Categories +INSERT INTO phpbb_categories (cat_id, cat_title, cat_order) VALUES (1, 'Test category 1', 1); + + +-- Forums +INSERT INTO phpbb_forums (forum_id, forum_name, forum_desc, cat_id, forum_order, forum_posts, forum_topics, forum_last_post_id, auth_view, auth_read, auth_post, auth_reply, auth_edit, auth_delete, auth_announce, auth_sticky, auth_pollcreate, auth_vote, auth_attachments) VALUES (1, 'Test Forum 1', 'This is just a test forum, nothing special here.', 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 3, 3, 3, 3); + + +-- Users +INSERT INTO phpbb_users (user_id, user_active, username, user_password, user_autologin_key, user_level, user_timezone, user_dateformat, user_style, user_lang, user_viewemail, user_attachsig, user_allowhtml, user_allowbbcode, user_allowsmile, user_allowavatar, user_allow_pm, user_allow_viewonline, user_notify_pm, user_regdate, user_rank, user_avatar, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_sig_bbcode_uid, user_aim, user_yim, user_msnm, user_posts, user_actkey, user_newpasswd, user_notify) VALUES (-1,1,'Anonymous','','','','','','','','','','',1,1,'','',1,'','','','','','','','','','','',NULL,'','','',60,'','',''); + +-- username: admin password: admin (change this or remove it once everything is working!) +INSERT INTO phpbb_users (user_id, username, user_level, user_regdate, user_password, user_autologin_key, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_viewemail, user_style, user_aim, user_yim, user_msnm, user_posts, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_pm, user_notify_pm, user_allow_viewonline, user_rank, user_avatar, user_lang, user_timezone, user_dateformat, user_actkey, user_newpasswd, user_notify, user_active) VALUES (2, 'Admin', 1, '', '21232f297a57a5a743894a0e4a801fc3', '', 'admin@yourdomain.com', '', '', '', '', '', '', 1, 1, '', '', '', 1, 0, 1, 0, 1, 1, 1, 1, 1, '', '', 0, 'd M Y h:i a', '', '', 0, 1); + + +-- Ranks +INSERT INTO phpbb_ranks (rank_id, rank_title, rank_min, rank_max, rank_special, rank_image) VALUES ( '1', 'Site Admin', '-1', '-1', '1', ''); + + +-- Groups +INSERT INTO phpbb_groups (group_id, group_name, group_description, group_single_user) VALUES (1, 'Anonymous', 'Personal User', 1); +INSERT INTO phpbb_groups (group_id, group_name, group_description, group_single_user) VALUES (2, 'Admin', 'Personal User', 1); + + +-- User -> Group +INSERT INTO phpbb_user_group (group_id, user_id, user_pending) VALUES (1, -1, 0); +INSERT INTO phpbb_user_group (group_id, user_id, user_pending) VALUES (2, 2, 0); + + +-- Demo Topic +INSERT INTO phpbb_topics (topic_id, topic_title, topic_poster, topic_time, topic_views, topic_replies, forum_id, topic_status, topic_type, topic_last_post_id) VALUES (1, 'Welcome to phpBB 2', 2, date_part('EPOCH', TIMESTAMP 'now'), 0, 0, 1, 0, 0, 1); + + +-- Demo Post +INSERT INTO phpbb_posts (post_id, topic_id, forum_id, poster_id, post_time, post_username, poster_ip) VALUES (1, 1, 1, 2, date_part('EPOCH', TIMESTAMP 'now'), '', '7F000001'); +INSERT INTO phpbb_posts_text (post_id, post_subject, post_text) VALUES (1, '', 'This is an example post in your phpBB 2 installation. You may delete this post, this topic and even this forum if you like since everything seems to be working!'); + + +-- Themes +INSERT INTO phpbb_themes (themes_id, template_name, style_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (1,'subSilver','subSilver','','','E5E5E5','000000','006699','5584AA','FF9933','EDF2F2','EFEFEF','DEE3E7','c2cdd6','','','','CBD3D9','BCBCBC','1B7CAD','','','','AEBDC4','006699','FFFFFF','row1','row2','','Verdana,Arial,Helvetica,sans-serif','Verdana,Arial,Helvetica,sans-serif','courier','','','','004c75','004c75','004c75','','',''); +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (2,'PSO [ Wheat ] ','PSO','','','FFFFFF','000000','002266','004411','','','','','','','','','001100','E5CCA5','D4A294','','','','EBE4D9','DAD1C4','','row1','row2','','verdana,serif','arial,helvetica','courier',1,2,3,'000000','','','','',''); +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (3,'PSO [ Ocean ]','PSO','','','DFF5FF','000000','011001','2100cc','','','','','','','','','000000','A7C1CB','7897A8','','','','83D7CC','A0CCE0','','row1','row2','','verdana,serif','arial,helvetica','courier',1,2,3,'','','','','',''); +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (4,'PSO [ Blue ]','PSO','','','FFFFFF','000000','417FB9','4E6172','0000AA','','','','','','','','000000','90BAE2','5195D4','','','','cde3f2','daedFd','','row1','row2','','verdana,serif','arial,helvetica','courier',1,2,3,'000000','','','','',''); +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (5,'PSO [ Cool Midnight ]','PSO', '','','444444','ECECEC','EDF2F2','DDEDED','FFFFFF','EDF2F2','','','','','','','000000','80707F','66555F','','','','60707D','667A80','','row1','row2','','Verdana,serif','Arial,Helvetica,sans-serif','courier',NULL,NULL,NULL,'ECECEC','ECECEC','ECECEC','','',''); +INSERT INTO phpbb_themes (themes_id, style_name, template_name, head_stylesheet, body_background, body_bgcolor, body_text, body_link, body_vlink, body_alink, body_hlink, tr_color1, tr_color2, tr_color3, tr_class1, tr_class2, tr_class3, th_color1, th_color2, th_color3, th_class1, th_class2, th_class3, td_color1, td_color2, td_color3, td_class1, td_class2, td_class3, fontface1, fontface2, fontface3, fontsize1, fontsize2, fontsize3, fontcolor1, fontcolor2, fontcolor3, span_class1, span_class2, span_class3) VALUES (6,'PSO [ Pastel Purple ]','PSO','','','FFFFFF','000000','445588','337744','','','','','','','','','CCCCDD','CCCCDD','DDDDEE','','','','EFEFEF','FEFEFE','','row1','row2','','Verdana,serif','Arial,Helvetica,sans-serif','courier',1,2,3,'','','0000EE','','',''); + + +-- Smilies +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '1', ':D', 'icon_biggrin.gif', 'Very Happy'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '2', ':-D', 'icon_biggrin.gif', 'Very Happy'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '3', ':grin:', 'icon_biggrin.gif', 'Very Happy'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '4', ':)', 'icon_smile.gif', 'Smile'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '5', ':-)', 'icon_smile.gif', 'Smile'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '6', ':smile:', 'icon_smile.gif', 'Smile'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '7', ':(', 'icon_sad.gif', 'Sad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '8', ':-(', 'icon_sad.gif', 'Sad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '9', ':sad:', 'icon_sad.gif', 'Sad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '10', ':o', 'icon_eek.gif', 'Surprised'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '11', ':-o', 'icon_eek.gif', 'Surprised'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '12', ':eek:', 'icon_eek.gif', 'Surprised'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '13', ':?', 'icon_confused.gif', 'Confused'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '14', ':-?', 'icon_confused.gif', 'Confused'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '15', ':???:', 'icon_confused.gif', 'Confused'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '16', '8)', 'icon_cool.gif', 'Cool'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '17', '8-)', 'icon_cool.gif', 'Cool'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '18', ':cool:', 'icon_cool.gif', 'Cool'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '19', ':lol:', 'icon_lol.gif', 'Laughing'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '20', ':x', 'icon_mad.gif', 'Mad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '21', ':-x', 'icon_mad.gif', 'Mad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '22', ':mad:', 'icon_mad.gif', 'Mad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '23', ':P', 'icon_razz.gif', 'Razz'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '24', ':-P', 'icon_razz.gif', 'Razz'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '25', ':razz:', 'icon_razz.gif', 'Razz'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '26', ':oops:', 'icon_redface.gif', 'Embarassed'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '27', ':cry:', 'icon_cry.gif', 'Crying or Very sad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '28', ':evil:', 'icon_evil.gif', 'Evil or Very Mad'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '29', ':twisted:', 'icon_twisted.gif', 'Twisted Evil'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '30', ':roll:', 'icon_rolleyes.gif', 'Rolling Eyes'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '31', ':wink:', 'icon_wink.gif', 'Wink'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '32', ';)', 'icon_wink.gif', 'Wink'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '33', ';-)', 'icon_wink.gif', 'Wink'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '34', ':!:', 'icon_exclaim.gif', 'Exclamation'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '35', ':?:', 'icon_question.gif', 'Question'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '36', ':idea:', 'icon_idea.gif', 'Idea'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '37', ':arrow:', 'icon_arrow.gif', 'Arrow'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '38', ':|', 'icon_neutral.gif', 'Neutral'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '39', ':-|', 'icon_neutral.gif', 'Neutral'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '40', ':neutral:', 'icon_neutral.gif', 'Neutral'); +INSERT INTO phpbb_smilies (smilies_id, code, smile_url, emoticon) VALUES ( '41', ':mrgreen:', 'icon_mrgreen.gif', 'Mr. Green'); diff --git a/phpBB/db/schemas/postgres_schema.sql b/phpBB/db/schemas/postgres_schema.sql new file mode 100644 index 0000000000..b5c50e26c4 --- /dev/null +++ b/phpBB/db/schemas/postgres_schema.sql @@ -0,0 +1,534 @@ +/* + phpBB2 PostgreSQL DB schema - phpBB group 2001 + + + $Id$ +*/ + +CREATE SEQUENCE phpbb_banlist_id_seq start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1; +CREATE SEQUENCE phpbb_categories_id_seq start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1; +CREATE SEQUENCE phpbb_config_id_seq start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1; +CREATE SEQUENCE phpbb_disallow_id_seq start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1; +CREATE SEQUENCE phpbb_forums_id_seq start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1; +CREATE SEQUENCE phpbb_posts_id_seq start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1; +CREATE SEQUENCE phpbb_privmsgs_id_seq start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1; +CREATE SEQUENCE phpbb_ranks_id_seq start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1; +CREATE SEQUENCE phpbb_search_wordlist_id_seq start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1; +CREATE SEQUENCE phpbb_smilies_id_seq start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1; +CREATE SEQUENCE phpbb_themes_id_seq start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1; +CREATE SEQUENCE phpbb_topics_id_seq start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1; +CREATE SEQUENCE phpbb_users_id_seq start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1; +CREATE SEQUENCE phpbb_words_id_seq start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1; +CREATE SEQUENCE phpbb_groups_id_seq start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1; +CREATE SEQUENCE phpbb_forum_prune_id_seq start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1; +CREATE SEQUENCE phpbb_vote_desc_id_seq start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1; + +/* -------------------------------------------------------- + Table structure for table phpbb_auth_access +-------------------------------------------------------- */ +CREATE TABLE phpbb_auth_access ( + group_id int DEFAULT '0' NOT NULL, + forum_id int2 DEFAULT '0' NOT NULL, + auth_view int2 DEFAULT '0' NOT NULL, + auth_read int2 DEFAULT '0' NOT NULL, + auth_post int2 DEFAULT '0' NOT NULL, + auth_reply int2 DEFAULT '0' NOT NULL, + auth_edit int2 DEFAULT '0' NOT NULL, + auth_delete int2 DEFAULT '0' NOT NULL, + auth_announce int2 DEFAULT '0' NOT NULL, + auth_sticky int2 DEFAULT '0' NOT NULL, + auth_pollcreate int2 DEFAULT '0' NOT NULL, + auth_attachments int2 DEFAULT '0' NOT NULL, + auth_vote int2 DEFAULT '0' NOT NULL, + auth_mod int2 DEFAULT '0' NOT NULL, + CONSTRAINT phpbb_auth_access_pkey PRIMARY KEY (group_id) +); +CREATE INDEX group_id_phpbb_auth_access_index ON phpbb_auth_access (forum_id); + + +/* -------------------------------------------------------- + Table structure for table phpbb_groups +-------------------------------------------------------- */ +CREATE TABLE phpbb_groups ( + group_id int DEFAULT nextval('phpbb_groups_id_seq'::text) NOT NULL, + group_name varchar(40) NOT NULL, + group_type int2 DEFAULT '1' NOT NULL, + group_description varchar(255) NOT NULL, + group_moderator int4 DEFAULT '0' NOT NULL, + group_single_user int2 DEFAULT '0' NOT NULL, + CONSTRAINT phpbb_groups_pkey PRIMARY KEY (group_id) +); + + +/* -------------------------------------------------------- + Table structure for table phpbb_banlist +-------------------------------------------------------- */ +CREATE TABLE phpbb_banlist ( + ban_id int4 DEFAULT nextval('phpbb_banlist_id_seq'::text) NOT NULL, + ban_userid int4, + ban_ip char(8), + ban_email varchar(255), + CONSTRAINT phpbb_banlist_pkey PRIMARY KEY (ban_id) +); +CREATE INDEX ban_userid_phpbb_banlist_index ON phpbb_banlist (ban_userid); + + +/* -------------------------------------------------------- + Table structure for table phpbb_categories +-------------------------------------------------------- */ +CREATE TABLE phpbb_categories ( + cat_id int4 DEFAULT nextval('phpbb_categories_id_seq'::text) NOT NULL, + cat_title varchar(100), + cat_order int4, + CONSTRAINT phpbb_categories_pkey PRIMARY KEY (cat_id) +); + + +/* -------------------------------------------------------- + Table structure for table phpbb_config +-------------------------------------------------------- */ +CREATE TABLE phpbb_config ( + config_name varchar(255) NOT NULL, + config_value varchar(255) NOT NULL, + CONSTRAINT phpbb_config_pkey PRIMARY KEY (config_name) +); + + +/* -------------------------------------------------------- + Table structure for table phpbb_disallow +-------------------------------------------------------- */ +CREATE TABLE phpbb_disallow ( + disallow_id int4 DEFAULT nextval('phpbb_disallow_id_s'::text) NOT NULL, + disallow_username varchar(25), + CONSTRAINT phpbb_disallow_pkey PRIMARY KEY (disallow_id) +); + + +/* -------------------------------------------------------- + Table structure for table phpbb_forums +-------------------------------------------------------- */ +CREATE TABLE phpbb_forums ( + forum_id int4 DEFAULT nextval('phpbb_forums_id_seq'::text) NOT NULL, + cat_id int4, + forum_name varchar(150), + forum_desc text, + forum_status int2 DEFAULT '0' NOT NULL, + forum_order int4 DEFAULT '1' NOT NULL, + forum_posts int4 DEFAULT '0' NOT NULL, + forum_topics int4 DEFAULT '0' NOT NULL, + forum_last_post_id int4 DEFAULT '0' NOT NULL, + prune_enable int2 DEFAULT '1' NOT NULL, + prune_next int, + auth_view int2 DEFAULT '0' NOT NULL, + auth_read int2 DEFAULT '0' NOT NULL, + auth_post int2 DEFAULT '0' NOT NULL, + auth_reply int2 DEFAULT '0' NOT NULL, + auth_edit int2 DEFAULT '0' NOT NULL, + auth_delete int2 DEFAULT '0' NOT NULL, + auth_announce int2 DEFAULT '0' NOT NULL, + auth_sticky int2 DEFAULT '0' NOT NULL, + auth_pollcreate int2 DEFAULT '0' NOT NULL, + auth_vote int2 DEFAULT '0' NOT NULL, + auth_attachments int2 DEFAULT '0' NOT NULL, + CONSTRAINT phpbb_forums_pkey PRIMARY KEY (forum_id) +); +CREATE INDEX cat_id_phpbb_forums_index ON phpbb_forums (cat_id); +CREATE INDEX forum_id_phpbb_forums_index ON phpbb_forums (forum_id); +CREATE INDEX forums_order_phpbb_forums_index ON phpbb_forums (forum_order); + + +/* -------------------------------------------------------- + Table structure for table phpbb_forum_prune +-------------------------------------------------------- */ +CREATE TABLE phpbb_forum_prune ( + prune_id int4 DEFAULT nextval('phpbb_forum_prune_id_seq'::text) NOT NULL, + forum_id int4 NOT NULL, + prune_days int4 NOT NULL, + prune_freq int4 NOT NULL, + CONSTRAINT phpbb_forum_prune_pkey PRIMARY KEY (prune_id) +); +CREATE INDEX prune_id_phpbb_forum_prune_index ON phpbb_forum_prune (prune_id); +CREATE INDEX forum_id_phpbb_forum_prune_index ON phpbb_forum_prune (forum_id); + + +/* -------------------------------------------------------- + Table structure for table phpbb_posts +-------------------------------------------------------- */ +CREATE TABLE phpbb_posts ( + post_id int4 DEFAULT nextval('phpbb_posts_id_seq'::text) NOT NULL, + topic_id int4 DEFAULT '0' NOT NULL, + forum_id int4 DEFAULT '0' NOT NULL, + poster_id int4 DEFAULT '0' NOT NULL, + post_time int4 DEFAULT '0' NOT NULL, + post_username varchar(30), + poster_ip char(8) DEFAULT '' NOT NULL, + enable_bbcode int2 DEFAULT '1' NOT NULL, + enable_html int2 DEFAULT '0' NOT NULL, + enable_smilies int2 DEFAULT '1' NOT NULL, + enable_sig int2 DEFAULT '1' NOT NULL, + bbcode_uid varchar(10) DEFAULT '' NOT NULL, + post_edit_time int4, + post_edit_count int2 DEFAULT '0' NOT NULL, + CONSTRAINT phpbb_posts_pkey PRIMARY KEY (post_id) +); +CREATE INDEX forum_id_phpbb_posts_index ON phpbb_posts (forum_id); +CREATE INDEX post_time_phpbb_posts_index ON phpbb_posts (post_time); +CREATE INDEX poster_id_phpbb_posts_index ON phpbb_posts (poster_id); +CREATE INDEX topic_id_phpbb_posts_index ON phpbb_posts (topic_id); + + +/* -------------------------------------------------------- + Table structure for table phpbb_posts_text +-------------------------------------------------------- */ +CREATE TABLE phpbb_posts_text ( + post_id int4 DEFAULT '0' NOT NULL, + post_subject varchar(255), + post_text text, + CONSTRAINT phpbb_posts_text_pkey PRIMARY KEY (post_id) +); + + +/* -------------------------------------------------------- + Table structure for table phpbb_privmsgs +-------------------------------------------------------- */ +CREATE TABLE phpbb_privmsgs ( + privmsgs_id int4 DEFAULT nextval('phpbb_privmsgs_id_seq'::text) NOT NULL, + privmsgs_type int2 DEFAULT '0' NOT NULL, + privmsgs_subject varchar(255) DEFAULT '0' NOT NULL, + privmsgs_from_userid int4 DEFAULT '0' NOT NULL, + privmsgs_to_userid int4 DEFAULT '0' NOT NULL, + privmsgs_date int4 DEFAULT '0' NOT NULL, + privmsgs_ip char(8) NOT NULL, + privmsgs_enable_bbcode int2 DEFAULT '1' NOT NULL, + privmsgs_enable_html int2 DEFAULT '0' NOT NULL, + privmsgs_enable_smilies int2 DEFAULT '1' NOT NULL, + privmsgs_attach_sig int2 DEFAULT '1' NOT NULL, + CONSTRAINT phpbb_privmsgs_pkey PRIMARY KEY (privmsgs_id) +); +CREATE INDEX privmsgs_from_userid_index ON phpbb_privmsgs (privmsgs_from_userid); +CREATE INDEX privmsgs_to_userid_index ON phpbb_privmsgs (privmsgs_to_userid); + + +/* -------------------------------------------------------- + Table structure for table phpbb_privmsgs_text +-------------------------------------------------------- */ +CREATE TABLE phpbb_privmsgs_text ( + privmsgs_text_id int4 DEFAULT '0' NOT NULL, + privmsgs_bbcode_uid char(10) DEFAULT '0' NOT NULL, + privmsgs_text text, + CONSTRAINT phpbb_privmsgs_text_pkey PRIMARY KEY (privmsgs_text_id) +); + + +/* -------------------------------------------------------- + Table structure for table phpbb_ranks +-------------------------------------------------------- */ +CREATE TABLE phpbb_ranks ( + rank_id int4 DEFAULT nextval('phpbb_ranks_id_seq'::text) NOT NULL, + rank_title varchar(50) DEFAULT '' NOT NULL, + rank_min int4 DEFAULT '0' NOT NULL, + rank_max int4 DEFAULT '0' NOT NULL, + rank_special int2 DEFAULT '0', + rank_image varchar(255), + CONSTRAINT phpbb_ranks_pkey PRIMARY KEY (rank_id) +); +CREATE INDEX rank_id_phpbb_ranks_index ON phpbb_ranks (rank_id); +CREATE INDEX rank_max_phpbb_ranks_index ON phpbb_ranks (rank_max); +CREATE INDEX rank_min_phpbb_ranks_index ON phpbb_ranks (rank_min); + + +/* -------------------------------------------------------- + Table structure for table phpbb_search_results +-------------------------------------------------------- */ +CREATE TABLE phpbb_search_results ( + search_id int4 NOT NULL default '0', + session_id char(32) NOT NULL default '', + search_array text NOT NULL, + CONSTRAINT phpbb_search_results_pkey PRIMARY KEY (search_id) +); +CREATE INDEX session_id_phpbb_search_results ON phpbb_search_results (session_id); + + +/* -------------------------------------------------------- + Table structure for table phpbb_search_wordlist +-------------------------------------------------------- */ +CREATE TABLE phpbb_search_wordlist ( + word_id int4 DEFAULT nextval('phpbb_search_wordlist_id_seq'::text) NOT NULL, + word_text varchar(100) NOT NULL default '', + word_weight int2 NOT NULL default '0', + CONSTRAINT phpbb_search_results_pkey PRIMARY KEY (word_id), +) +CREATE INDEX word_text_phpbb_search_wordlist ON phpbb_search_wordlist (word_text); + + +/* -------------------------------------------------------- + Table structure for table phpbb_search_wordmatch +-------------------------------------------------------- */ +CREATE TABLE phpbb_search_wordmatch ( + post_id int4 NOT NULL default '0', + word_id int4 NOT NULL default '0', + word_count int2 NOT NULL default '0', + title_match int2 NOT NULL default '0' +) +CREATE INDEX word_id_phpbb_search_wordmatch ON phpbb_search_wordmatch (word_id); + + +/* -------------------------------------------------------- + Table structure for table phpbb_sessions +-------------------------------------------------------- */ +CREATE TABLE phpbb_sessions ( + session_id char(32) DEFAULT '0' NOT NULL, + session_user_id int4 DEFAULT '0' NOT NULL, + session_start int4 DEFAULT '0' NOT NULL, + session_time int4 DEFAULT '0' NOT NULL, + session_last_visit int4 DEFAULT '0' NOT NULL, + session_ip char(8) DEFAULT '0' NOT NULL, + session_page int4 DEFAULT '0' NOT NULL, + session_logged_in int2 DEFAULT '0' NOT NULL, + CONSTRAINT phpbb_session_pkey PRIMARY KEY (session_id) +); +CREATE INDEX session_user_id ON phpbb_sessions (session_user_id); +CREATE INDEX session_id_ip_user_id ON phpbb_sessions (session_id, session_ip, session_user_id); + + +/* -------------------------------------------------------- + Table structure for table phpbb_smilies +-------------------------------------------------------- */ +CREATE TABLE phpbb_smilies ( + smilies_id int4 DEFAULT nextval('phpbb_smilies_id_seq'::text) NOT NULL, + code varchar(50), + smile_url varchar(100), + emoticon varchar(75), + CONSTRAINT phpbb_smilies_pkey PRIMARY KEY (smilies_id) +); + + +/* -------------------------------------------------------- + Table structure for table phpbb_themes +-------------------------------------------------------- */ +CREATE TABLE phpbb_themes ( + themes_id int4 DEFAULT nextval('phpbb_themes_id_seq'::text) NOT NULL, + style_name varchar(30), + template_name varchar(30) NOT NULL default '', + head_stylesheet varchar(100), + body_background varchar(100), + body_bgcolor char(6), + body_text char(6), + body_link char(6), + body_vlink char(6), + body_alink char(6), + body_hlink char(6), + tr_color1 char(6), + tr_color2 char(6), + tr_color3 char(6), + tr_class1 varchar(25), + tr_class2 varchar(25), + tr_class3 varchar(25), + th_color1 char(6), + th_color2 char(6), + th_color3 char(6), + th_class1 varchar(25), + th_class2 varchar(25), + th_class3 varchar(25), + td_color1 char(6), + td_color2 char(6), + td_color3 char(6), + td_class1 varchar(25), + td_class2 varchar(25), + td_class3 varchar(25), + fontface1 varchar(25), + fontface2 varchar(25), + fontface3 varchar(25), + fontsize1 int2, + fontsize2 int2, + fontsize3 int2, + fontcolor1 char(6), + fontcolor2 char(6), + fontcolor3 char(6), + span_class1 varchar(25), + span_class2 varchar(25), + span_class3 varchar(25), + CONSTRAINT phpbb_themes_pkey PRIMARY KEY (themes_id) +); + + +/* -------------------------------------------------------- + Table structure for table phpbb_themes_name +-------------------------------------------------------- */ +CREATE TABLE phpbb_themes_name ( + themes_id int4 DEFAULT '0' NOT NULL, + tr_color1_name char(50), + tr_color2_name char(50), + tr_color3_name char(50), + tr_class1_name varchar(50), + tr_class2_name varchar(50), + tr_class3_name varchar(50), + th_color1_name char(50), + th_color2_name char(50), + th_color3_name char(50), + th_class1_name varchar(50), + th_class2_name varchar(50), + th_class3_name varchar(50), + td_color1_name char(50), + td_color2_name char(50), + td_color3_name char(50), + td_class1_name varchar(50), + td_class2_name varchar(50), + td_class3_name varchar(50), + fontface1_name varchar(50), + fontface2_name varchar(50), + fontface3_name varchar(50), + fontsize1_name varchar(50), + fontsize2_name varchar(50), + fontsize3_name varchar(50), + fontcolor1_name char(50), + fontcolor2_name char(50), + fontcolor3_name char(50), + span_class1_name varchar(50), + span_class2_name varchar(50), + span_class3_name varchar(50), + CONSTRAINT phpbb_themes_name_pkey PRIMARY KEY (themes_id) +); + + +/* -------------------------------------------------------- + Table structure for table phpbb_topics +-------------------------------------------------------- */ +CREATE TABLE phpbb_topics ( + topic_id int4 DEFAULT nextval('phpbb_topics_id_seq'::text) NOT NULL, + forum_id int4 DEFAULT '0' NOT NULL, + topic_title varchar(100) DEFAULT '' NOT NULL, + topic_poster int4 DEFAULT '0' NOT NULL, + topic_time int4 DEFAULT '0' NOT NULL, + topic_views int4 DEFAULT '0' NOT NULL, + topic_replies int4 DEFAULT '0' NOT NULL, + topic_status int2 DEFAULT '0' NOT NULL, + topic_vote int2 DEFAULT '0' NOT NULL, + topic_type int2 DEFAULT '0' NOT NULL, + topic_moved_id int4, + topic_last_post_id int4 DEFAULT '0' NOT NULL, + CONSTRAINT phpbb_topics_pkey PRIMARY KEY (topic_id) +); +CREATE INDEX forum_id_phpbb_topics_index ON phpbb_topics (forum_id); +CREATE INDEX topic_moved_id_phpbb_topics_index ON phpbb_topics (topic_moved_id); +CREATE INDEX topic_last_post_id_phpbb_topics_index ON phpbb_topics (topic_last_post_id); +CREATE INDEX topic_type_phpbb_topics_index ON phpbb_topics (topic_type); +CREATE INDEX topic_poster_phpbb_topics_index ON phpbb_topics (topic_poster); +CREATE INDEX topic_time_phpbb_topics_index ON phpbb_topics (topic_time); + + +/* -------------------------------------------------------- + Table structure for table phpbb_topics_watch +-------------------------------------------------------- */ +CREATE TABLE phpbb_topics_watch ( + topic_id int4, + user_id int4, + notify_status int2 NOT NULL default '0' +); +CREATE INDEX topic_id_phpbb_topics_watch_index ON phpbb_topics_watch (topic_id); +CREATE INDEX user_id_phpbb_topics_watch_index ON phpbb_topics_watch (user_id); + + +/* -------------------------------------------------------- + Table structure for table phpbb_user_group +-------------------------------------------------------- */ +CREATE TABLE phpbb_user_group ( + group_id int DEFAULT '0' NOT NULL, + user_id int DEFAULT '0' NOT NULL, + user_pending int2 +); +CREATE INDEX group_id_phpbb_user_group_index ON phpbb_user_group (group_id); +CREATE INDEX user_id_phpbb_user_group_index ON phpbb_user_group (user_id); + + +/* -------------------------------------------------------- + Table structure for table phpbb_users +-------------------------------------------------------- */ +CREATE TABLE phpbb_users ( + user_id int4 DEFAULT nextval('phpbb_users_id_seq'::text) NOT NULL, + user_active int2, + username varchar(25) DEFAULT '' NOT NULL, + user_regdate int4 DEFAULT '0' NOT NULL, + user_password varchar(32) DEFAULT '' NOT NULL, + user_autologin_key varchar(32), + user_email varchar(255), + user_icq varchar(15), + user_website varchar(100), + user_occ varchar(100), + user_from varchar(100), + user_interests varchar(255), + user_sig text, + user_sig_bbcode_uid char(10), + user_style int4, + user_aim varchar(255), + user_yim varchar(255), + user_msnm varchar(255), + user_posts int4 DEFAULT '0' NOT NULL, + user_emailtime int4, + user_viewemail int2, + user_attachsig int2, + user_allowhtml int2, + user_allowbbcode int2, + user_allowsmile int2, + user_allow_pm int2 DEFAULT '1' NOT NULL, + user_allowavatar int2 DEFAULT '1' NOT NULL, + user_allow_viewonline int2 DEFAULT '1' NOT NULL, + user_rank int4 DEFAULT '0', + user_avatar varchar(100), + user_avatar_type int2 DEFAULT '0' NOT NULL, + user_level int4 DEFAULT '1', + user_lang varchar(255), + user_timezone int4 DEFAULT '0' NOT NULL, + user_dateformat varchar(14) DEFAULT 'd M Y H:m' NOT NULL, + user_notify_pm int2 DEFAULT '1' NOT NULL, + user_notify int2, + user_actkey varchar(32), + user_newpasswd varchar(32), + CONSTRAINT phpbb_users_pkey PRIMARY KEY (user_id) +); + +/* -------------------------------------------------------- + Table structure for table phpbb_vote_desc +-------------------------------------------------------- */ +CREATE TABLE phpbb_vote_desc ( + vote_id int4 DEFAULT nextval('phpbb_vote_desc_id_seq'::text) NOT NULL , + topic_id int4 NOT NULL DEFAULT '0', + vote_text text NOT NULL, + vote_start int4 DEFAULT '0' NOT NULL, + vote_length int4 DEFAULT '0' NOT NULL, + CONSTRAINT phpbb_vote_dsc_pkey PRIMARY KEY (vote_id) +); +CREATE INDEX topic_id_phpbb_vote_desc_index ON phpbb_vote_desc (topic_id); + +/* -------------------------------------------------------- + Table structure for table phpbb_vote_results +-------------------------------------------------------- */ +CREATE TABLE phpbb_vote_results ( + vote_id int4 NOT NULL DEFAULT '0', + vote_option_id int4 NOT NULL DEFAULT '0', + vote_option_text varchar(255) NOT NULL, + vote_result int4 NOT NULL DEFAULT '0' +); +CREATE INDEX option_id_phpbb_vote_results_index ON phpbb_vote_results (vote_option_id); + +/* -------------------------------------------------------- + Table structure for table phpbb_vote_voters +-------------------------------------------------------- */ +CREATE TABLE phpbb_vote_voters ( + vote_id int4 NOT NULL DEFAULT '0', + vote_user_id int4 NOT NULL DEFAULT '0', + vote_user_ip char(8) NOT NULL +); +CREATE INDEX vote_id_phpbb_vote_voters_index ON phpbb_vote_voters (vote_id); +CREATE INDEX vote_user_id_phpbb_vote_voters_index ON phpbb_vote_voters (vote_user_id); +CREATE INDEX vote_user_ip_phpbb_vote_voters_index ON phpbb_vote_voters (vote_user_ip); + +/* -------------------------------------------------------- + Table structure for table phpbb_words +-------------------------------------------------------- */ +CREATE TABLE phpbb_words ( + word_id int4 DEFAULT nextval('phpbb_words_id_seq'::text) NOT NULL, + word varchar(100) DEFAULT '' NOT NULL, + replacement varchar(100) DEFAULT '' NOT NULL, + CONSTRAINT phpbb_words_pkey PRIMARY KEY (word_id) +);