المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : شرح طريقة بناء جداول قاعدة البيانات المحذوفه MYSQL XenForo


هيلبرنت
12-06-2016, 09:22 PM
السلام عليكم ورحمه الله وبركاته

هذا أوامر بناء الجداول المحذوفه في قاعدة البيانات ... لا سمح الله إذا حذفت جدول معين فقط قم بزراعت أمر البناء أدناه ..
ملاحضه : بعض أوامر البناء قد لاتفيدك مثل المشاركات أو الأعضاء والأقسام وغيرها

[ اسم الشرح ] : بناء جداول قاعدة البيانات المحذوفه MYSQL XenForo
[ الوصف ] : زراعه الجداول المحذوفه
[ يتوافق مع اي اصدار ] : جميع الإصدارات
[ موقع مقدم الشرح ] : R a K a n

نبداء

--
-- Table structure for table `xf_addon`
--

CREATE TABLE `xf_addon` (
`addon_id` varbinary(25) NOT NULL,
`title` varchar(75) NOT NULL,
`version_string` varchar(30) NOT NULL DEFAULT '',
`version_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`url` varchar(100) NOT NULL,
`install_callback_class` varchar(75) NOT NULL DEFAULT '',
`install_callback_method` varchar(75) NOT NULL DEFAULT '',
`uninstall_callback_class` varchar(75) NOT NULL DEFAULT '',
`uninstall_callback_method` varchar(75) NOT NULL DEFAULT '',
`active` tinyint(3) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_admin`
--

CREATE TABLE `xf_admin` (
`user_id` int(10) UNSIGNED NOT NULL,
`extra_user_group_ids` varbinary(255) NOT NULL,
`last_login` int(10) UNSIGNED NOT NULL DEFAULT '0',
`permission_cache` mediumblob,
`admin_language_id` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_admin_log`
--

CREATE TABLE `xf_admin_log` (
`admin_log_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`ip_address` varbinary(16) NOT NULL DEFAULT '',
`request_date` int(10) UNSIGNED NOT NULL,
`request_url` text NOT NULL,
`request_data` mediumblob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_admin_navigation`
--

CREATE TABLE `xf_admin_navigation` (
`navigation_id` varbinary(25) NOT NULL,
`parent_navigation_id` varbinary(25) NOT NULL,
`display_order` int(10) UNSIGNED NOT NULL DEFAULT '0',
`link` varchar(50) NOT NULL DEFAULT '',
`admin_permission_id` varbinary(25) NOT NULL DEFAULT '',
`debug_only` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`hide_no_children` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`addon_id` varbinary(25) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_admin_permission`
--

CREATE TABLE `xf_admin_permission` (
`admin_permission_id` varbinary(25) NOT NULL,
`display_order` int(10) UNSIGNED NOT NULL DEFAULT '0',
`addon_id` varbinary(25) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_admin_permission_entry`
--

CREATE TABLE `xf_admin_permission_entry` (
`user_id` int(11) NOT NULL,
`admin_permission_id` varbinary(25) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_admin_search_type`
--

CREATE TABLE `xf_admin_search_type` (
`search_type` varbinary(25) NOT NULL,
`handler_class` varchar(50) NOT NULL,
`display_order` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_admin_template`
--

CREATE TABLE `xf_admin_template` (
`template_id` int(10) UNSIGNED NOT NULL,
`title` varbinary(50) NOT NULL,
`template` mediumtext NOT NULL COMMENT 'User-editable HTML and template syntax',
`template_parsed` mediumblob NOT NULL,
`addon_id` varbinary(25) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_admin_template_compiled`
--

CREATE TABLE `xf_admin_template_compiled` (
`language_id` int(10) UNSIGNED NOT NULL,
`title` varbinary(50) NOT NULL,
`template_compiled` mediumblob NOT NULL COMMENT 'Executable PHP code built by template compiler'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_admin_template_include`
--

CREATE TABLE `xf_admin_template_include` (
`source_id` int(10) UNSIGNED NOT NULL,
`target_id` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_admin_template_modification`
--

CREATE TABLE `xf_admin_template_modification` (
`modification_id` int(10) UNSIGNED NOT NULL,
`addon_id` varbinary(25) NOT NULL,
`template` varbinary(50) NOT NULL,
`modification_key` varbinary(50) NOT NULL,
`description` varchar(255) NOT NULL,
`execution_order` int(10) UNSIGNED NOT NULL,
`enabled` tinyint(3) UNSIGNED NOT NULL,
`action` varchar(25) NOT NULL,
`find` text NOT NULL,
`replace` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_admin_template_modification_log`
--

CREATE TABLE `xf_admin_template_modification_log` (
`template_id` int(10) UNSIGNED NOT NULL,
`modification_id` int(10) UNSIGNED NOT NULL,
`status` varchar(25) NOT NULL,
`apply_count` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_admin_template_phrase`
--

CREATE TABLE `xf_admin_template_phrase` (
`template_id` int(10) UNSIGNED NOT NULL,
`phrase_title` varbinary(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_attachment`
--

CREATE TABLE `xf_attachment` (
`attachment_id` int(10) UNSIGNED NOT NULL,
`data_id` int(10) UNSIGNED NOT NULL,
`content_type` varbinary(25) NOT NULL,
`content_id` int(10) UNSIGNED NOT NULL,
`attach_date` int(10) UNSIGNED NOT NULL,
`temp_hash` varchar(32) NOT NULL DEFAULT '',
`unassociated` tinyint(3) UNSIGNED NOT NULL,
`view_count` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_attachment_data`
--

CREATE TABLE `xf_attachment_data` (
`data_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`upload_date` int(10) UNSIGNED NOT NULL,
`filename` varchar(100) NOT NULL,
`file_size` int(10) UNSIGNED NOT NULL,
`file_hash` varchar(32) NOT NULL,
`file_path` varchar(250) NOT NULL DEFAULT '',
`width` int(10) UNSIGNED NOT NULL DEFAULT '0',
`height` int(10) UNSIGNED NOT NULL DEFAULT '0',
`thumbnail_width` int(10) UNSIGNED NOT NULL DEFAULT '0',
`thumbnail_height` int(10) UNSIGNED NOT NULL DEFAULT '0',
`attach_count` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_attachment_view`
--

CREATE TABLE `xf_attachment_view` (
`attachment_id` int(10) UNSIGNED NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_ban_email`
--

CREATE TABLE `xf_ban_email` (
`banned_email` varchar(120) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_bb_code`
--

CREATE TABLE `xf_bb_code` (
`bb_code_id` varbinary(25) NOT NULL,
`bb_code_mode` varchar(25) NOT NULL,
`has_option` varchar(25) NOT NULL,
`replace_html` text NOT NULL,
`replace_html_email` text NOT NULL,
`replace_text` text NOT NULL,
`callback_class` varchar(75) NOT NULL DEFAULT '',
`callback_method` varchar(50) NOT NULL DEFAULT '',
`option_regex` text NOT NULL,
`trim_lines_after` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`plain_children` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`disable_smilies` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`disable_nl2br` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`disable_autolink` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`allow_empty` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`allow_signature` tinyint(3) UNSIGNED NOT NULL DEFAULT '1',
`editor_icon_url` varchar(200) NOT NULL DEFAULT '',
`sprite_mode` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`sprite_params` blob NOT NULL,
`example` text NOT NULL,
`active` tinyint(3) UNSIGNED NOT NULL DEFAULT '1',
`addon_id` varbinary(25) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_bb_code_media_site`
--

CREATE TABLE `xf_bb_code_media_site` (
`media_site_id` varbinary(25) NOT NULL,
`site_title` varchar(50) NOT NULL,
`site_url` varchar(100) NOT NULL DEFAULT '',
`match_urls` text NOT NULL,
`match_is_regex` tinyint(3) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'If 1, match_urls will be treated as regular expressions rather than simple URL matches.',
`match_callback_class` varchar(75) NOT NULL DEFAULT '',
`match_callback_method` varchar(50) NOT NULL DEFAULT '',
`embed_html` text NOT NULL,
`embed_html_callback_class` varchar(75) NOT NULL DEFAULT '',
`embed_html_callback_method` varchar(50) NOT NULL DEFAULT '',
`supported` tinyint(3) UNSIGNED NOT NULL DEFAULT '1' COMMENT 'If 0, this media type will not be listed as available, but will still be usable.',
`addon_id` varbinary(25) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_bb_code_parse_cache`
--

CREATE TABLE `xf_bb_code_parse_cache` (
`bb_code_parse_cache_id` int(10) UNSIGNED NOT NULL,
`content_type` varbinary(25) NOT NULL,
`content_id` int(10) UNSIGNED NOT NULL,
`parse_tree` mediumblob NOT NULL,
`cache_version` int(10) UNSIGNED NOT NULL,
`cache_date` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_captcha_log`
--

CREATE TABLE `xf_captcha_log` (
`hash` varbinary(40) NOT NULL,
`captcha_type` varchar(250) NOT NULL,
`captcha_data` varchar(250) NOT NULL,
`captcha_date` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_captcha_question`
--

CREATE TABLE `xf_captcha_question` (
`captcha_question_id` int(10) UNSIGNED NOT NULL,
`question` varchar(250) NOT NULL,
`answers` blob NOT NULL COMMENT 'Serialized array of possible correct answers.',
`active` tinyint(3) UNSIGNED NOT NULL DEFAULT '1'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_code_event`
--

CREATE TABLE `xf_code_event` (
`event_id` varbinary(50) NOT NULL,
`description` text NOT NULL,
`addon_id` varbinary(25) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_code_event_listener`
--

CREATE TABLE `xf_code_event_listener` (
`event_listener_id` int(10) UNSIGNED NOT NULL,
`event_id` varbinary(50) NOT NULL,
`execute_order` int(10) UNSIGNED NOT NULL,
`description` text NOT NULL,
`callback_class` varchar(75) NOT NULL,
`callback_method` varchar(50) NOT NULL,
`active` tinyint(3) UNSIGNED NOT NULL,
`addon_id` varbinary(25) NOT NULL,
`hint` varchar(255) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_content_spam_cache`
--

CREATE TABLE `xf_content_spam_cache` (
`spam_cache_id` int(10) UNSIGNED NOT NULL,
`content_type` varbinary(25) NOT NULL,
`content_id` int(10) UNSIGNED NOT NULL,
`spam_params` mediumblob NOT NULL,
`insert_date` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_content_type`
--

CREATE TABLE `xf_content_type` (
`content_type` varbinary(25) NOT NULL,
`addon_id` varbinary(25) NOT NULL DEFAULT '',
`fields` mediumblob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_content_type_field`
--

CREATE TABLE `xf_content_type_field` (
`content_type` varbinary(25) NOT NULL,
`field_name` varbinary(50) NOT NULL,
`field_value` varchar(75) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_conversation_master`
--

CREATE TABLE `xf_conversation_master` (
`conversation_id` int(10) UNSIGNED NOT NULL,
`title` varchar(150) NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`username` varchar(50) NOT NULL,
`start_date` int(10) UNSIGNED NOT NULL,
`open_invite` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`conversation_open` tinyint(3) UNSIGNED NOT NULL DEFAULT '1',
`reply_count` int(10) UNSIGNED NOT NULL DEFAULT '0',
`recipient_count` int(10) UNSIGNED NOT NULL DEFAULT '0',
`first_message_id` int(10) UNSIGNED NOT NULL,
`last_message_date` int(10) UNSIGNED NOT NULL,
`last_message_id` int(10) UNSIGNED NOT NULL,
`last_message_user_id` int(10) UNSIGNED NOT NULL,
`last_message_username` varchar(50) NOT NULL,
`recipients` mediumblob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_conversation_message`
--

CREATE TABLE `xf_conversation_message` (
`message_id` int(10) UNSIGNED NOT NULL,
`conversation_id` int(10) UNSIGNED NOT NULL,
`message_date` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`username` varchar(50) NOT NULL,
`message` mediumtext NOT NULL,
`attach_count` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
`ip_id` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_conversation_recipient`
--

CREATE TABLE `xf_conversation_recipient` (
`conversation_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`recipient_state` enum('active','deleted','deleted_ignored') NOT NULL,
`last_read_date` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_conversation_user`
--

CREATE TABLE `xf_conversation_user` (
`conversation_id` int(10) UNSIGNED NOT NULL,
`owner_user_id` int(10) UNSIGNED NOT NULL,
`is_unread` tinyint(3) UNSIGNED NOT NULL,
`reply_count` int(10) UNSIGNED NOT NULL,
`last_message_date` int(10) UNSIGNED NOT NULL,
`last_message_id` int(10) UNSIGNED NOT NULL,
`last_message_user_id` int(10) UNSIGNED NOT NULL,
`last_message_username` varchar(50) NOT NULL,
`is_starred` tinyint(3) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_cron_entry`
--

CREATE TABLE `xf_cron_entry` (
`entry_id` varbinary(25) NOT NULL,
`cron_class` varchar(75) NOT NULL,
`cron_method` varchar(50) NOT NULL,
`run_rules` mediumblob NOT NULL,
`active` tinyint(3) UNSIGNED NOT NULL,
`next_run` int(10) UNSIGNED NOT NULL,
`addon_id` varbinary(25) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_data_registry`
--

CREATE TABLE `xf_data_registry` (
`data_key` varbinary(25) NOT NULL,
`data_value` mediumblob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_deferred`
--

CREATE TABLE `xf_deferred` (
`deferred_id` int(10) UNSIGNED NOT NULL,
`unique_key` varbinary(50) DEFAULT NULL,
`execute_class` varchar(75) NOT NULL,
`execute_data` mediumblob NOT NULL,
`manual_execute` tinyint(4) NOT NULL,
`trigger_date` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_deletion_log`
--

CREATE TABLE `xf_deletion_log` (
`content_type` varbinary(25) NOT NULL,
`content_id` int(11) NOT NULL,
`delete_date` int(11) NOT NULL,
`delete_user_id` int(11) NOT NULL,
`delete_username` varchar(50) NOT NULL,
`delete_reason` varchar(100) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_draft`
--

CREATE TABLE `xf_draft` (
`draft_id` int(10) UNSIGNED NOT NULL,
`draft_key` varbinary(75) NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`last_update` int(10) UNSIGNED NOT NULL,
`message` mediumtext NOT NULL,
`extra_data` mediumblob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_edit_history`
--

CREATE TABLE `xf_edit_history` (
`edit_history_id` int(10) UNSIGNED NOT NULL,
`content_type` varbinary(25) NOT NULL,
`content_id` int(10) UNSIGNED NOT NULL,
`edit_user_id` int(10) UNSIGNED NOT NULL,
`edit_date` int(10) UNSIGNED NOT NULL,
`old_text` mediumtext NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_email_bounce_log`
--

CREATE TABLE `xf_email_bounce_log` (
`bounce_id` int(10) UNSIGNED NOT NULL,
`log_date` int(10) UNSIGNED NOT NULL,
`email_date` int(10) UNSIGNED NOT NULL,
`message_type` varchar(25) NOT NULL,
`action_taken` varchar(25) NOT NULL,
`user_id` int(10) UNSIGNED DEFAULT NULL,
`recipient` varchar(255) DEFAULT NULL,
`raw_message` mediumblob NOT NULL,
`status_code` varchar(25) DEFAULT NULL,
`diagnostic_info` text
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_email_bounce_soft`
--

CREATE TABLE `xf_email_bounce_soft` (
`bounce_soft_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`bounce_date` date NOT NULL,
`bounce_total` smallint(5) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_email_template`
--

CREATE TABLE `xf_email_template` (
`template_id` int(10) UNSIGNED NOT NULL,
`title` varbinary(50) NOT NULL,
`custom` tinyint(3) UNSIGNED NOT NULL,
`subject` mediumtext NOT NULL COMMENT 'User-editable subject with template syntax',
`subject_parsed` mediumblob NOT NULL,
`body_text` mediumtext NOT NULL COMMENT 'User-editable plain text body with template syntax',
`body_text_parsed` mediumblob NOT NULL,
`body_html` mediumtext NOT NULL COMMENT 'User-editable HTML body t with template syntax',
`body_html_parsed` mediumblob NOT NULL,
`addon_id` varbinary(25) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_email_template_compiled`
--

CREATE TABLE `xf_email_template_compiled` (
`language_id` int(10) UNSIGNED NOT NULL,
`title` varbinary(50) NOT NULL,
`template_compiled` mediumblob NOT NULL COMMENT 'Executable PHP code from compilation. Outputs 3 vars.'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_email_template_modification`
--

CREATE TABLE `xf_email_template_modification` (
`modification_id` int(10) UNSIGNED NOT NULL,
`addon_id` varbinary(25) NOT NULL,
`template` varbinary(50) NOT NULL,
`modification_key` varbinary(50) NOT NULL,
`description` varchar(255) NOT NULL,
`execution_order` int(10) UNSIGNED NOT NULL,
`enabled` tinyint(3) UNSIGNED NOT NULL,
`search_location` varchar(25) NOT NULL,
`action` varchar(25) NOT NULL,
`find` text NOT NULL,
`replace` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_email_template_modification_log`
--

CREATE TABLE `xf_email_template_modification_log` (
`template_id` int(10) UNSIGNED NOT NULL,
`modification_id` int(10) UNSIGNED NOT NULL,
`status` varchar(25) NOT NULL,
`apply_count` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_email_template_phrase`
--

CREATE TABLE `xf_email_template_phrase` (
`title` varbinary(50) NOT NULL,
`phrase_title` varbinary(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_error_log`
--

CREATE TABLE `xf_error_log` (
`error_id` int(10) UNSIGNED NOT NULL,
`exception_date` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED DEFAULT NULL,
`ip_address` varbinary(16) NOT NULL DEFAULT '',
`exception_type` varchar(75) NOT NULL,
`message` text NOT NULL,
`filename` varchar(255) NOT NULL,
`line` int(10) UNSIGNED NOT NULL,
`trace_string` mediumtext NOT NULL,
`request_state` mediumblob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_feed`
--

CREATE TABLE `xf_feed` (
`feed_id` int(10) UNSIGNED NOT NULL,
`title` varchar(250) NOT NULL,
`url` varchar(2083) NOT NULL,
`frequency` int(10) UNSIGNED NOT NULL DEFAULT '1800',
`node_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`prefix_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`title_template` varchar(250) NOT NULL DEFAULT '',
`message_template` mediumtext NOT NULL,
`discussion_visible` tinyint(3) UNSIGNED NOT NULL DEFAULT '1',
`discussion_open` tinyint(3) UNSIGNED NOT NULL DEFAULT '1',
`discussion_sticky` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`last_fetch` int(10) UNSIGNED NOT NULL DEFAULT '0',
`active` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_feed_log`
--

CREATE TABLE `xf_feed_log` (
`feed_id` int(10) UNSIGNED NOT NULL,
`unique_id` varchar(250) NOT NULL,
`hash` char(32) NOT NULL COMMENT 'MD5(title + content)',
`thread_id` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_flood_check`
--

CREATE TABLE `xf_flood_check` (
`user_id` int(10) UNSIGNED NOT NULL,
`flood_action` varchar(25) NOT NULL,
`flood_time` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_forum`
--

CREATE TABLE `xf_forum` (
`node_id` int(10) UNSIGNED NOT NULL,
`discussion_count` int(10) UNSIGNED NOT NULL DEFAULT '0',
`message_count` int(10) UNSIGNED NOT NULL DEFAULT '0',
`last_post_id` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Most recent post_id',
`last_post_date` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Date of most recent post',
`last_post_user_id` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'User_id of user posting most recently',
`last_post_username` varchar(50) NOT NULL DEFAULT '' COMMENT 'Username of most recently-posting user',
`last_thread_title` varchar(150) NOT NULL DEFAULT '' COMMENT 'Title of thread most recent post is in',
`moderate_threads` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`moderate_replies` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`allow_posting` tinyint(3) UNSIGNED NOT NULL DEFAULT '1',
`allow_poll` tinyint(3) UNSIGNED NOT NULL DEFAULT '1',
`count_messages` tinyint(3) UNSIGNED NOT NULL DEFAULT '1' COMMENT 'If not set, messages posted (directly) within this forum will not contribute to user message totals.',
`find_new` tinyint(3) UNSIGNED NOT NULL DEFAULT '1' COMMENT 'Include posts from this forum when running /find-new/threads',
`prefix_cache` mediumblob NOT NULL COMMENT 'Serialized data from xf_forum_prefix, [group_id][prefix_id] => prefix_id',
`default_prefix_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`default_sort_order` varchar(25) NOT NULL DEFAULT 'last_post_date',
`default_sort_direction` varchar(5) NOT NULL DEFAULT 'desc',
`list_date_limit_days` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
`require_prefix` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`allowed_watch_notifications` varchar(10) NOT NULL DEFAULT 'all',
`min_tags` smallint(5) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_forum_prefix`
--

CREATE TABLE `xf_forum_prefix` (
`node_id` int(10) UNSIGNED NOT NULL,
`prefix_id` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_forum_read`
--

CREATE TABLE `xf_forum_read` (
`forum_read_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`node_id` int(10) UNSIGNED NOT NULL,
`forum_read_date` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_forum_watch`
--

CREATE TABLE `xf_forum_watch` (
`user_id` int(10) UNSIGNED NOT NULL,
`node_id` int(10) UNSIGNED NOT NULL,
`notify_on` enum('','thread','message') NOT NULL,
`send_alert` tinyint(3) UNSIGNED NOT NULL,
`send_email` tinyint(3) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_help_page`
--

CREATE TABLE `xf_help_page` (
`page_id` int(10) UNSIGNED NOT NULL,
`page_name` varchar(50) NOT NULL,
`display_order` int(10) UNSIGNED NOT NULL DEFAULT '0',
`callback_class` varchar(75) NOT NULL DEFAULT '',
`callback_method` varchar(75) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_image_proxy`
--

CREATE TABLE `xf_image_proxy` (
`image_id` int(11) UNSIGNED NOT NULL,
`url` text NOT NULL,
`url_hash` varbinary(32) NOT NULL,
`file_size` int(10) UNSIGNED NOT NULL DEFAULT '0',
`file_name` varchar(250) NOT NULL DEFAULT '',
`mime_type` varchar(100) NOT NULL DEFAULT '',
`fetch_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`first_request_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`last_request_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`views` int(10) UNSIGNED NOT NULL DEFAULT '0',
`pruned` int(10) UNSIGNED NOT NULL DEFAULT '0',
`is_processing` int(10) UNSIGNED NOT NULL DEFAULT '0',
`failed_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`fail_count` smallint(5) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_image_proxy_referrer`
--

CREATE TABLE `xf_image_proxy_referrer` (
`referrer_id` int(10) UNSIGNED NOT NULL,
`image_id` int(10) UNSIGNED NOT NULL,
`referrer_hash` varbinary(32) NOT NULL,
`referrer_url` text NOT NULL,
`hits` int(11) DEFAULT NULL,
`first_date` int(11) DEFAULT NULL,
`last_date` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_import_log`
--

CREATE TABLE `xf_import_log` (
`content_type` varbinary(25) NOT NULL,
`old_id` varbinary(50) NOT NULL,
`new_id` varbinary(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_ip`
--

CREATE TABLE `xf_ip` (
`ip_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`content_type` varbinary(25) NOT NULL,
`content_id` int(10) UNSIGNED NOT NULL,
`action` varbinary(25) NOT NULL DEFAULT '',
`ip` varbinary(16) NOT NULL,
`log_date` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_ip_match`
--

CREATE TABLE `xf_ip_match` (
`ip` varchar(43) NOT NULL,
`match_type` enum('banned','discouraged') NOT NULL DEFAULT 'banned',
`first_byte` binary(1) NOT NULL,
`start_range` varbinary(16) NOT NULL,
`end_range` varbinary(16) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_language`
--

CREATE TABLE `xf_language` (
`language_id` int(10) UNSIGNED NOT NULL,
`parent_id` int(10) UNSIGNED NOT NULL,
`parent_list` varbinary(100) NOT NULL,
`title` varchar(50) NOT NULL,
`date_format` varchar(30) NOT NULL,
`time_format` varchar(15) NOT NULL,
`decimal_point` varchar(1) NOT NULL,
`thousands_separator` varchar(1) NOT NULL,
`phrase_cache` mediumblob NOT NULL,
`language_code` varchar(25) NOT NULL DEFAULT '',
`text_direction` enum('LTR','RTL') NOT NULL DEFAULT 'LTR'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_liked_content`
--

CREATE TABLE `xf_liked_content` (
`like_id` int(10) UNSIGNED NOT NULL,
`content_type` varbinary(25) NOT NULL,
`content_id` int(10) UNSIGNED NOT NULL,
`like_user_id` int(10) UNSIGNED NOT NULL,
`like_date` int(10) UNSIGNED NOT NULL,
`content_user_id` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_link_forum`
--

CREATE TABLE `xf_link_forum` (
`node_id` int(10) UNSIGNED NOT NULL,
`link_url` varchar(150) NOT NULL,
`redirect_count` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_link_proxy`
--

CREATE TABLE `xf_link_proxy` (
`link_id` int(10) UNSIGNED NOT NULL,
`url` text NOT NULL,
`url_hash` varbinary(32) NOT NULL,
`first_request_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`last_request_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`hits` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_link_proxy_referrer`
--

CREATE TABLE `xf_link_proxy_referrer` (
`referrer_id` int(10) UNSIGNED NOT NULL,
`link_id` int(10) UNSIGNED NOT NULL,
`referrer_hash` varbinary(32) NOT NULL,
`referrer_url` text NOT NULL,
`hits` int(11) DEFAULT NULL,
`first_date` int(11) DEFAULT NULL,
`last_date` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_login_attempt`
--

CREATE TABLE `xf_login_attempt` (
`attempt_id` int(10) UNSIGNED NOT NULL,
`login` varchar(60) NOT NULL,
`ip_address` varbinary(16) NOT NULL,
`attempt_date` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_mail_queue`
--

CREATE TABLE `xf_mail_queue` (
`mail_queue_id` int(10) UNSIGNED NOT NULL,
`mail_data` mediumblob NOT NULL,
`queue_date` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_moderation_queue`
--

CREATE TABLE `xf_moderation_queue` (
`content_type` varbinary(25) NOT NULL,
`content_id` int(10) UNSIGNED NOT NULL,
`content_date` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_moderator`
--

CREATE TABLE `xf_moderator` (
`user_id` int(10) UNSIGNED NOT NULL,
`is_super_moderator` tinyint(3) UNSIGNED NOT NULL,
`moderator_permissions` mediumblob NOT NULL,
`extra_user_group_ids` varbinary(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_moderator_content`
--

CREATE TABLE `xf_moderator_content` (
`moderator_id` int(10) UNSIGNED NOT NULL,
`content_type` varbinary(25) NOT NULL,
`content_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`moderator_permissions` mediumblob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_moderator_log`
--

CREATE TABLE `xf_moderator_log` (
`moderator_log_id` int(10) UNSIGNED NOT NULL,
`log_date` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`ip_address` varbinary(16) NOT NULL DEFAULT '',
`content_type` varbinary(25) NOT NULL,
`content_id` int(10) UNSIGNED NOT NULL,
`content_user_id` int(10) UNSIGNED NOT NULL,
`content_username` varchar(50) NOT NULL,
`content_title` varchar(150) NOT NULL,
`content_url` text NOT NULL,
`discussion_content_type` varchar(25) NOT NULL,
`discussion_content_id` int(10) UNSIGNED NOT NULL,
`action` varchar(25) NOT NULL,
`action_params` mediumblob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_news_feed`
--

CREATE TABLE `xf_news_feed` (
`news_feed_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL COMMENT 'The user who performed the action',
`username` varchar(50) NOT NULL DEFAULT '' COMMENT 'Corresponds to user_id',
`content_type` varbinary(25) NOT NULL COMMENT 'eg: thread',
`content_id` int(10) UNSIGNED NOT NULL,
`action` varchar(25) NOT NULL COMMENT 'eg: edit',
`event_date` int(10) UNSIGNED NOT NULL,
`extra_data` mediumblob NOT NULL COMMENT 'Serialized. Stores any extra data relevant to the action'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_node`
--

CREATE TABLE `xf_node` (
`node_id` int(10) UNSIGNED NOT NULL,
`title` varchar(50) NOT NULL,
`description` text NOT NULL,
`node_name` varchar(50) DEFAULT NULL COMMENT 'Unique column used as string ID by some node types',
`node_type_id` varbinary(25) NOT NULL,
`parent_node_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`display_order` int(10) UNSIGNED NOT NULL DEFAULT '1',
`display_in_list` tinyint(3) UNSIGNED NOT NULL DEFAULT '1' COMMENT 'If 0, hidden from node list. Still counts for lft/rgt.',
`lft` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Nested set info ''left'' value',
`rgt` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Nested set info ''right'' value',
`depth` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Depth = 0: no parent',
`style_id` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Style override for specific node',
`effective_style_id` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Style override; pushed down tree',
`breadcrumb_data` blob
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_node_type`
--

CREATE TABLE `xf_node_type` (
`node_type_id` varbinary(25) NOT NULL,
`handler_class` varchar(75) NOT NULL,
`controller_admin_class` varchar(75) NOT NULL COMMENT 'extends XenForo_ControllerAdmin_Abstract',
`datawriter_class` varchar(75) NOT NULL COMMENT 'extends XenForo_DataWriter_Node',
`permission_group_id` varchar(25) NOT NULL DEFAULT '',
`moderator_interface_group_id` varchar(50) NOT NULL DEFAULT '',
`public_route_prefix` varchar(25) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_notice`
--

CREATE TABLE `xf_notice` (
`notice_id` int(10) UNSIGNED NOT NULL,
`title` varchar(150) NOT NULL,
`message` mediumtext NOT NULL,
`active` tinyint(3) UNSIGNED NOT NULL DEFAULT '1',
`display_order` int(10) UNSIGNED NOT NULL DEFAULT '0',
`dismissible` tinyint(3) UNSIGNED NOT NULL DEFAULT '1' COMMENT 'Notice may be hidden when read by users',
`wrap` tinyint(3) UNSIGNED NOT NULL DEFAULT '1' COMMENT 'Wrap this notice in div.noticeContent',
`user_criteria` mediumblob NOT NULL,
`page_criteria` mediumblob NOT NULL,
`display_image` enum('','avatar','image') NOT NULL DEFAULT '',
`image_url` varchar(200) NOT NULL DEFAULT '',
`visibility` enum('','wide','medium','narrow') NOT NULL DEFAULT '',
`notice_type` enum('block','floating') NOT NULL DEFAULT 'block',
`display_style` enum('','primary','secondary','dark','light','cust om') NOT NULL DEFAULT '',
`css_class` varchar(50) NOT NULL DEFAULT '',
`display_duration` int(10) UNSIGNED NOT NULL DEFAULT '0',
`delay_duration` int(10) UNSIGNED NOT NULL DEFAULT '0',
`auto_dismiss` tinyint(3) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_notice_dismissed`
--

CREATE TABLE `xf_notice_dismissed` (
`notice_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`dismiss_date` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_option`
--

CREATE TABLE `xf_option` (
`option_id` varbinary(50) NOT NULL,
`option_value` mediumblob NOT NULL,
`default_value` mediumblob NOT NULL,
`edit_format` enum('textbox','spinbox','onoff','radio','select', 'checkbox','template','callback','onofftextbox') NOT NULL,
`edit_format_params` mediumtext NOT NULL,
`data_type` enum('string','integer','numeric','array','boolean ','positive_integer','unsigned_integer','unsigned_ numeric') NOT NULL,
`sub_options` mediumtext NOT NULL,
`can_backup` tinyint(3) UNSIGNED NOT NULL,
`validation_class` varchar(75) NOT NULL,
`validation_method` varchar(50) NOT NULL,
`addon_id` varbinary(25) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_option_group`
--

CREATE TABLE `xf_option_group` (
`group_id` varbinary(50) NOT NULL,
`display_order` int(10) UNSIGNED NOT NULL,
`debug_only` tinyint(3) UNSIGNED NOT NULL,
`addon_id` varbinary(25) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_option_group_relation`
--

CREATE TABLE `xf_option_group_relation` (
`option_id` varbinary(50) NOT NULL,
`group_id` varbinary(50) NOT NULL,
`display_order` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_page`
--

CREATE TABLE `xf_page` (
`node_id` int(10) UNSIGNED NOT NULL,
`publish_date` int(10) UNSIGNED NOT NULL,
`modified_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`view_count` int(10) UNSIGNED NOT NULL DEFAULT '0',
`log_visits` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`list_siblings` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`list_children` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`callback_class` varchar(75) NOT NULL DEFAULT '',
`callback_method` varchar(75) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_permission`
--

CREATE TABLE `xf_permission` (
`permission_id` varbinary(25) NOT NULL,
`permission_group_id` varbinary(25) NOT NULL,
`permission_type` enum('flag','integer') NOT NULL,
`interface_group_id` varbinary(50) NOT NULL,
`depend_permission_id` varbinary(25) NOT NULL,
`display_order` int(10) UNSIGNED NOT NULL,
`default_value` enum('allow','deny','unset') NOT NULL,
`default_value_int` int(11) NOT NULL,
`addon_id` varbinary(25) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_permission_cache_content`
--

CREATE TABLE `xf_permission_cache_content` (
`permission_combination_id` int(10) UNSIGNED NOT NULL,
`content_type` varbinary(25) NOT NULL,
`content_id` int(10) UNSIGNED NOT NULL,
`cache_value` mediumblob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_permission_combination`
--

CREATE TABLE `xf_permission_combination` (
`permission_combination_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`user_group_list` mediumblob NOT NULL,
`cache_value` mediumblob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_permission_combination_user_group`
--

CREATE TABLE `xf_permission_combination_user_group` (
`user_group_id` int(10) UNSIGNED NOT NULL,
`permission_combination_id` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_permission_entry`
--

CREATE TABLE `xf_permission_entry` (
`permission_entry_id` int(10) UNSIGNED NOT NULL,
`user_group_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`permission_group_id` varbinary(25) NOT NULL,
`permission_id` varbinary(25) NOT NULL,
`permission_value` enum('unset','allow','deny','use_int') NOT NULL,
`permission_value_int` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_permission_entry_content`
--

CREATE TABLE `xf_permission_entry_content` (
`permission_entry_id` int(10) UNSIGNED NOT NULL,
`content_type` varbinary(25) NOT NULL,
`content_id` int(10) UNSIGNED NOT NULL,
`user_group_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`permission_group_id` varbinary(25) NOT NULL,
`permission_id` varbinary(25) NOT NULL,
`permission_value` enum('unset','reset','content_allow','deny','use_i nt') NOT NULL,
`permission_value_int` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_permission_group`
--

CREATE TABLE `xf_permission_group` (
`permission_group_id` varbinary(25) NOT NULL,
`addon_id` varbinary(25) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_permission_interface_group`
--

CREATE TABLE `xf_permission_interface_group` (
`interface_group_id` varbinary(50) NOT NULL,
`display_order` int(10) UNSIGNED NOT NULL,
`addon_id` varbinary(25) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_phrase`
--

CREATE TABLE `xf_phrase` (
`phrase_id` int(10) UNSIGNED NOT NULL,
`language_id` int(10) UNSIGNED NOT NULL,
`title` varbinary(100) NOT NULL,
`phrase_text` mediumtext NOT NULL,
`global_cache` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`addon_id` varbinary(25) NOT NULL DEFAULT '',
`version_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`version_string` varchar(30) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_phrase_compiled`
--

CREATE TABLE `xf_phrase_compiled` (
`language_id` int(10) UNSIGNED NOT NULL,
`title` varbinary(100) NOT NULL,
`phrase_text` mediumtext NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_phrase_map`
--

CREATE TABLE `xf_phrase_map` (
`phrase_map_id` int(10) UNSIGNED NOT NULL,
`language_id` int(10) UNSIGNED NOT NULL,
`title` varbinary(100) NOT NULL,
`phrase_id` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_poll`
--

CREATE TABLE `xf_poll` (
`poll_id` int(10) UNSIGNED NOT NULL,
`content_type` varbinary(25) NOT NULL,
`content_id` int(10) UNSIGNED NOT NULL,
`question` varchar(100) NOT NULL,
`responses` mediumblob NOT NULL,
`voter_count` int(10) UNSIGNED NOT NULL DEFAULT '0',
`public_votes` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`max_votes` tinyint(3) UNSIGNED NOT NULL DEFAULT '1',
`close_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`change_vote` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`view_results_unvoted` tinyint(3) UNSIGNED NOT NULL DEFAULT '1'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_poll_response`
--

CREATE TABLE `xf_poll_response` (
`poll_response_id` int(10) UNSIGNED NOT NULL,
`poll_id` int(10) UNSIGNED NOT NULL,
`response` varchar(100) NOT NULL,
`response_vote_count` int(10) UNSIGNED NOT NULL DEFAULT '0',
`voters` mediumblob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_poll_vote`
--

CREATE TABLE `xf_poll_vote` (
`user_id` int(10) UNSIGNED NOT NULL,
`poll_response_id` int(10) UNSIGNED NOT NULL,
`poll_id` int(10) UNSIGNED NOT NULL,
`vote_date` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_post`
--

CREATE TABLE `xf_post` (
`post_id` int(10) UNSIGNED NOT NULL,
`thread_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`username` varchar(50) NOT NULL,
`post_date` int(10) UNSIGNED NOT NULL,
`message` mediumtext NOT NULL,
`ip_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`message_state` enum('visible','moderated','deleted') NOT NULL DEFAULT 'visible',
`attach_count` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
`position` int(10) UNSIGNED NOT NULL,
`likes` int(10) UNSIGNED NOT NULL DEFAULT '0',
`like_users` blob NOT NULL,
`warning_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`warning_message` varchar(255) NOT NULL DEFAULT '',
`last_edit_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`last_edit_user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`edit_count` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_profile_post`
--

CREATE TABLE `xf_profile_post` (
`profile_post_id` int(10) UNSIGNED NOT NULL,
`profile_user_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`username` varchar(50) NOT NULL,
`post_date` int(10) UNSIGNED NOT NULL,
`message` mediumtext NOT NULL,
`ip_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`message_state` enum('visible','moderated','deleted') NOT NULL DEFAULT 'visible',
`attach_count` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
`likes` int(10) UNSIGNED NOT NULL DEFAULT '0',
`like_users` blob NOT NULL,
`comment_count` int(10) UNSIGNED NOT NULL DEFAULT '0',
`first_comment_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`last_comment_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`latest_comment_ids` blob NOT NULL,
`warning_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`warning_message` varchar(255) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_profile_post_comment`
--

CREATE TABLE `xf_profile_post_comment` (
`profile_post_comment_id` int(10) UNSIGNED NOT NULL,
`profile_post_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`username` varchar(50) NOT NULL,
`comment_date` int(10) UNSIGNED NOT NULL,
`message` mediumtext NOT NULL,
`ip_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`message_state` enum('visible','moderated','deleted') NOT NULL DEFAULT 'visible',
`likes` int(10) UNSIGNED NOT NULL DEFAULT '0',
`like_users` blob NOT NULL,
`warning_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`warning_message` varchar(255) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_registration_spam_cache`
--

CREATE TABLE `xf_registration_spam_cache` (
`cache_key` varbinary(128) NOT NULL DEFAULT '',
`result` mediumblob NOT NULL,
`timeout` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_report`
--

CREATE TABLE `xf_report` (
`report_id` int(10) UNSIGNED NOT NULL,
`content_type` varbinary(25) NOT NULL,
`content_id` int(10) UNSIGNED NOT NULL,
`content_user_id` int(10) UNSIGNED NOT NULL,
`content_info` mediumblob NOT NULL,
`first_report_date` int(10) UNSIGNED NOT NULL,
`report_state` enum('open','assigned','resolved','rejected') NOT NULL,
`assigned_user_id` int(10) UNSIGNED NOT NULL,
`comment_count` int(10) UNSIGNED NOT NULL DEFAULT '0',
`last_modified_date` int(10) UNSIGNED NOT NULL,
`last_modified_user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`last_modified_username` varchar(50) NOT NULL DEFAULT '',
`report_count` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_report_comment`
--

CREATE TABLE `xf_report_comment` (
`report_comment_id` int(10) UNSIGNED NOT NULL,
`report_id` int(10) UNSIGNED NOT NULL,
`comment_date` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`username` varchar(50) NOT NULL,
`message` mediumtext NOT NULL,
`state_change` enum('','open','assigned','resolved','rejected') NOT NULL DEFAULT '',
`is_report` tinyint(3) UNSIGNED NOT NULL DEFAULT '1'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_route_filter`
--

CREATE TABLE `xf_route_filter` (
`route_filter_id` int(10) UNSIGNED NOT NULL,
`route_type` varbinary(25) NOT NULL,
`prefix` varchar(25) NOT NULL,
`find_route` varchar(255) NOT NULL,
`replace_route` varchar(255) NOT NULL,
`enabled` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`url_to_route_only` tinyint(3) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_route_prefix`
--

CREATE TABLE `xf_route_prefix` (
`route_type` enum('public','admin') NOT NULL,
`original_prefix` varchar(25) NOT NULL,
`route_class` varchar(75) NOT NULL,
`build_link` enum('all','data_only','none') NOT NULL DEFAULT 'none',
`addon_id` varbinary(25) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_search`
--

CREATE TABLE `xf_search` (
`search_id` int(10) UNSIGNED NOT NULL,
`search_results` mediumblob NOT NULL,
`result_count` smallint(5) UNSIGNED NOT NULL,
`search_type` varchar(25) NOT NULL,
`search_query` varchar(200) NOT NULL,
`search_constraints` mediumblob NOT NULL,
`search_order` varchar(50) NOT NULL,
`search_grouping` tinyint(4) NOT NULL DEFAULT '0',
`user_results` mediumblob NOT NULL,
`warnings` mediumblob NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`search_date` int(10) UNSIGNED NOT NULL,
`query_hash` varchar(32) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_search_index`
--

CREATE TABLE `xf_search_index` (
`content_type` varchar(25) NOT NULL,
`content_id` int(10) UNSIGNED NOT NULL,
`title` varchar(250) NOT NULL DEFAULT '',
`message` mediumtext NOT NULL,
`metadata` mediumtext NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`item_date` int(10) UNSIGNED NOT NULL,
`discussion_id` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_session`
--

CREATE TABLE `xf_session` (
`session_id` varbinary(32) NOT NULL,
`session_data` mediumblob NOT NULL,
`expiry_date` int(10) UNSIGNED NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_session_activity`
--

CREATE TABLE `xf_session_activity` (
`user_id` int(10) UNSIGNED NOT NULL,
`unique_key` varbinary(16) NOT NULL,
`ip` varbinary(16) NOT NULL DEFAULT '',
`controller_name` varbinary(50) NOT NULL,
`controller_action` varbinary(50) NOT NULL,
`view_state` enum('valid','error') NOT NULL,
`params` varbinary(100) NOT NULL,
`view_date` int(10) UNSIGNED NOT NULL,
`robot_key` varbinary(25) NOT NULL DEFAULT ''
) ENGINE=MEMORY DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_session_admin`
--

CREATE TABLE `xf_session_admin` (
`session_id` varbinary(32) NOT NULL,
`session_data` mediumblob NOT NULL,
`expiry_date` int(10) UNSIGNED NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_sitemap`
--

CREATE TABLE `xf_sitemap` (
`sitemap_id` int(10) UNSIGNED NOT NULL,
`is_active` tinyint(3) UNSIGNED NOT NULL,
`file_count` smallint(5) UNSIGNED NOT NULL,
`entry_count` int(10) UNSIGNED NOT NULL DEFAULT '0',
`is_compressed` tinyint(3) UNSIGNED NOT NULL,
`complete_date` int(10) UNSIGNED DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_smilie`
--

CREATE TABLE `xf_smilie` (
`smilie_id` int(10) UNSIGNED NOT NULL,
`title` varchar(50) NOT NULL,
`smilie_text` text NOT NULL,
`image_url` varchar(200) NOT NULL,
`sprite_mode` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`sprite_params` text NOT NULL,
`smilie_category_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`display_order` int(10) UNSIGNED NOT NULL DEFAULT '1',
`display_in_editor` tinyint(3) UNSIGNED NOT NULL DEFAULT '1'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_smilie_category`
--

CREATE TABLE `xf_smilie_category` (
`smilie_category_id` int(10) UNSIGNED NOT NULL,
`display_order` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_spam_cleaner_log`
--

CREATE TABLE `xf_spam_cleaner_log` (
`spam_cleaner_log_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`username` varchar(50) NOT NULL DEFAULT '',
`applying_user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`applying_username` varchar(50) NOT NULL DEFAULT '',
`application_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`data` mediumblob NOT NULL COMMENT 'Serialized array containing log data for undo purposes',
`restored_date` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_spam_trigger_log`
--

CREATE TABLE `xf_spam_trigger_log` (
`trigger_log_id` int(10) UNSIGNED NOT NULL,
`content_type` varbinary(25) NOT NULL,
`content_id` int(10) UNSIGNED DEFAULT NULL,
`log_date` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`ip_address` varbinary(16) NOT NULL,
`result` varbinary(25) NOT NULL,
`details` mediumblob NOT NULL,
`request_state` mediumblob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_stats_daily`
--

CREATE TABLE `xf_stats_daily` (
`stats_date` int(10) UNSIGNED NOT NULL,
`stats_type` varbinary(25) NOT NULL,
`counter` bigint(20) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_style`
--

CREATE TABLE `xf_style` (
`style_id` int(10) UNSIGNED NOT NULL,
`parent_id` int(10) UNSIGNED NOT NULL,
`parent_list` varbinary(100) NOT NULL COMMENT 'IDs of ancestor styles in order, eg: this,parent,grandparent,root',
`title` varchar(50) NOT NULL,
`description` varchar(100) NOT NULL DEFAULT '',
`properties` mediumblob NOT NULL COMMENT 'Serialized array of materialized style properties for this style',
`last_modified_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`user_selectable` tinyint(3) UNSIGNED NOT NULL DEFAULT '1' COMMENT 'Unselectable styles are unselectable by non-admin visitors'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_style_property`
--

CREATE TABLE `xf_style_property` (
`property_id` int(10) UNSIGNED NOT NULL,
`property_definition_id` int(10) UNSIGNED NOT NULL,
`style_id` int(11) NOT NULL,
`property_value` mediumblob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_style_property_definition`
--

CREATE TABLE `xf_style_property_definition` (
`property_definition_id` int(10) UNSIGNED NOT NULL,
`definition_style_id` int(11) NOT NULL,
`group_name` varbinary(25) DEFAULT NULL,
`title` varchar(100) NOT NULL,
`description` varchar(255) NOT NULL DEFAULT '',
`property_name` varbinary(100) NOT NULL,
`property_type` enum('scalar','css') NOT NULL,
`css_components` blob NOT NULL,
`scalar_type` enum('','longstring','color','number','boolean','t emplate') NOT NULL DEFAULT '',
`scalar_parameters` varchar(250) NOT NULL DEFAULT '' COMMENT 'Additional arguments for the given scalar type',
`addon_id` varbinary(25) NOT NULL,
`display_order` int(10) UNSIGNED NOT NULL DEFAULT '0',
`sub_group` varchar(25) NOT NULL DEFAULT '' COMMENT 'Allows loose grouping of scalars within a group'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_style_property_group`
--

CREATE TABLE `xf_style_property_group` (
`property_group_id` int(10) UNSIGNED NOT NULL,
`group_name` varbinary(25) NOT NULL,
`group_style_id` int(11) NOT NULL,
`title` varchar(100) NOT NULL,
`description` varchar(255) NOT NULL DEFAULT '',
`display_order` int(10) UNSIGNED NOT NULL,
`addon_id` varbinary(25) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_tag`
--

CREATE TABLE `xf_tag` (
`tag_id` int(10) UNSIGNED NOT NULL,
`tag` varchar(100) NOT NULL,
`tag_url` varchar(100) NOT NULL,
`use_count` int(10) UNSIGNED NOT NULL DEFAULT '0',
`last_use_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`permanent` tinyint(4) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_tag_content`
--

CREATE TABLE `xf_tag_content` (
`tag_content_id` int(10) UNSIGNED NOT NULL,
`content_type` varbinary(25) NOT NULL,
`content_id` int(11) NOT NULL,
`tag_id` int(10) UNSIGNED NOT NULL,
`add_user_id` int(10) UNSIGNED NOT NULL,
`add_date` int(10) UNSIGNED NOT NULL,
`visible` tinyint(3) UNSIGNED NOT NULL,
`content_date` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_tag_result_cache`
--

CREATE TABLE `xf_tag_result_cache` (
`result_cache_id` int(11) NOT NULL,
`tag_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`cache_date` int(10) UNSIGNED NOT NULL,
`expiry_date` int(10) UNSIGNED NOT NULL,
`results` mediumblob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_template`
--

CREATE TABLE `xf_template` (
`template_id` int(10) UNSIGNED NOT NULL,
`title` varbinary(50) NOT NULL,
`style_id` int(10) UNSIGNED NOT NULL,
`template` mediumtext NOT NULL COMMENT 'User-editable HTML and template syntax',
`template_parsed` mediumblob NOT NULL,
`addon_id` varbinary(25) NOT NULL DEFAULT '',
`version_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`version_string` varchar(30) NOT NULL DEFAULT '',
`disable_modifications` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`last_edit_date` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_template_compiled`
--

CREATE TABLE `xf_template_compiled` (
`style_id` int(10) UNSIGNED NOT NULL,
`language_id` int(10) UNSIGNED NOT NULL,
`title` varbinary(50) NOT NULL,
`template_compiled` mediumblob NOT NULL COMMENT 'Executable PHP code built by template compiler'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_template_history`
--

CREATE TABLE `xf_template_history` (
`template_history_id` int(11) UNSIGNED NOT NULL,
`title` varbinary(50) NOT NULL,
`style_id` int(11) UNSIGNED NOT NULL,
`template` mediumtext NOT NULL,
`edit_date` int(11) UNSIGNED NOT NULL,
`log_date` int(11) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_template_include`
--

CREATE TABLE `xf_template_include` (
`source_map_id` int(10) UNSIGNED NOT NULL,
`target_map_id` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_template_map`
--

CREATE TABLE `xf_template_map` (
`template_map_id` int(10) UNSIGNED NOT NULL,
`style_id` int(10) UNSIGNED NOT NULL,
`title` varbinary(50) NOT NULL,
`template_id` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_template_modification`
--

CREATE TABLE `xf_template_modification` (
`modification_id` int(10) UNSIGNED NOT NULL,
`addon_id` varbinary(25) NOT NULL,
`template` varbinary(50) NOT NULL,
`modification_key` varbinary(50) NOT NULL,
`description` varchar(255) NOT NULL,
`execution_order` int(10) UNSIGNED NOT NULL,
`enabled` tinyint(3) UNSIGNED NOT NULL,
`action` varchar(25) NOT NULL,
`find` text NOT NULL,
`replace` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_template_modification_log`
--

CREATE TABLE `xf_template_modification_log` (
`template_id` int(10) UNSIGNED NOT NULL,
`modification_id` int(10) UNSIGNED NOT NULL,
`status` varchar(25) NOT NULL,
`apply_count` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_template_phrase`
--

CREATE TABLE `xf_template_phrase` (
`template_map_id` int(10) UNSIGNED NOT NULL,
`phrase_title` varbinary(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_tfa_attempt`
--

CREATE TABLE `xf_tfa_attempt` (
`attempt_id` int(11) NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`attempt_date` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_tfa_provider`
--

CREATE TABLE `xf_tfa_provider` (
`provider_id` varbinary(25) NOT NULL,
`provider_class` varchar(75) NOT NULL,
`priority` smallint(5) UNSIGNED NOT NULL,
`active` tinyint(3) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_thread`
--

CREATE TABLE `xf_thread` (
`thread_id` int(10) UNSIGNED NOT NULL,
`node_id` int(10) UNSIGNED NOT NULL,
`title` varchar(150) NOT NULL,
`reply_count` int(10) UNSIGNED NOT NULL DEFAULT '0',
`view_count` int(10) UNSIGNED NOT NULL DEFAULT '0',
`user_id` int(10) UNSIGNED NOT NULL,
`username` varchar(50) NOT NULL,
`post_date` int(10) UNSIGNED NOT NULL,
`sticky` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`discussion_state` enum('visible','moderated','deleted') NOT NULL DEFAULT 'visible',
`discussion_open` tinyint(3) UNSIGNED NOT NULL DEFAULT '1',
`discussion_type` varchar(25) NOT NULL DEFAULT '',
`first_post_id` int(10) UNSIGNED NOT NULL,
`first_post_likes` int(10) UNSIGNED NOT NULL DEFAULT '0',
`last_post_date` int(10) UNSIGNED NOT NULL,
`last_post_id` int(10) UNSIGNED NOT NULL,
`last_post_user_id` int(10) UNSIGNED NOT NULL,
`last_post_username` varchar(50) NOT NULL,
`prefix_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`tags` mediumblob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_thread_prefix`
--

CREATE TABLE `xf_thread_prefix` (
`prefix_id` int(10) UNSIGNED NOT NULL,
`prefix_group_id` int(10) UNSIGNED NOT NULL,
`display_order` int(10) UNSIGNED NOT NULL,
`materialized_order` int(10) UNSIGNED NOT NULL COMMENT 'Internally-set order, based on prefix_group.display_order, prefix.display_order',
`css_class` varchar(50) NOT NULL DEFAULT '',
`allowed_user_group_ids` blob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_thread_prefix_group`
--

CREATE TABLE `xf_thread_prefix_group` (
`prefix_group_id` int(10) UNSIGNED NOT NULL,
`display_order` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_thread_read`
--

CREATE TABLE `xf_thread_read` (
`thread_read_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`thread_id` int(10) UNSIGNED NOT NULL,
`thread_read_date` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_thread_redirect`
--

CREATE TABLE `xf_thread_redirect` (
`thread_id` int(10) UNSIGNED NOT NULL,
`target_url` text NOT NULL,
`redirect_key` varchar(50) NOT NULL DEFAULT '',
`expiry_date` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_thread_reply_ban`
--

CREATE TABLE `xf_thread_reply_ban` (
`thread_reply_ban_id` int(10) UNSIGNED NOT NULL,
`thread_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`ban_date` int(10) UNSIGNED NOT NULL,
`expiry_date` int(10) UNSIGNED DEFAULT NULL,
`reason` varchar(100) NOT NULL DEFAULT '',
`ban_user_id` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_thread_user_post`
--

CREATE TABLE `xf_thread_user_post` (
`thread_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`post_count` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_thread_view`
--

CREATE TABLE `xf_thread_view` (
`thread_id` int(10) UNSIGNED NOT NULL
) ENGINE=MEMORY DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_thread_watch`
--

CREATE TABLE `xf_thread_watch` (
`user_id` int(10) UNSIGNED NOT NULL,
`thread_id` int(10) UNSIGNED NOT NULL,
`email_subscribe` tinyint(3) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_trophy`
--

CREATE TABLE `xf_trophy` (
`trophy_id` int(10) UNSIGNED NOT NULL,
`trophy_points` int(10) UNSIGNED NOT NULL,
`user_criteria` mediumblob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_upgrade_log`
--

CREATE TABLE `xf_upgrade_log` (
`version_id` int(10) UNSIGNED NOT NULL,
`completion_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`log_type` enum('install','upgrade') NOT NULL DEFAULT 'upgrade'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user`
--

CREATE TABLE `xf_user` (
`user_id` int(10) UNSIGNED NOT NULL,
`username` varchar(50) NOT NULL,
`email` varchar(120) NOT NULL,
`gender` enum('','male','female') NOT NULL DEFAULT '' COMMENT 'Leave empty for ''unspecified''',
`custom_title` varchar(50) NOT NULL DEFAULT '',
`language_id` int(10) UNSIGNED NOT NULL,
`style_id` int(10) UNSIGNED NOT NULL COMMENT '0 = use system default',
`timezone` varchar(50) NOT NULL COMMENT 'Example: ''Europe/London''',
`visible` tinyint(3) UNSIGNED NOT NULL DEFAULT '1' COMMENT 'Show browsing activity to others',
`activity_visible` tinyint(3) UNSIGNED NOT NULL DEFAULT '1',
`user_group_id` int(10) UNSIGNED NOT NULL,
`secondary_group_ids` varbinary(255) NOT NULL,
`display_style_group_id` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'User group ID that provides user styling',
`permission_combination_id` int(10) UNSIGNED NOT NULL,
`message_count` int(10) UNSIGNED NOT NULL DEFAULT '0',
`conversations_unread` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
`register_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`last_activity` int(10) UNSIGNED NOT NULL DEFAULT '0',
`trophy_points` int(10) UNSIGNED NOT NULL DEFAULT '0',
`alerts_unread` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
`avatar_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`avatar_width` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
`avatar_height` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
`gravatar` varchar(120) NOT NULL DEFAULT '' COMMENT 'If specified, this is an email address corresponding to the user''s ''Gravatar''',
`user_state` enum('valid','email_confirm','email_confirm_edit', 'moderated','email_bounce') NOT NULL DEFAULT 'valid',
`is_moderator` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`is_admin` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`is_banned` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`like_count` int(10) UNSIGNED NOT NULL DEFAULT '0',
`warning_points` int(10) UNSIGNED NOT NULL DEFAULT '0',
`is_staff` tinyint(3) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_alert`
--

CREATE TABLE `xf_user_alert` (
`alert_id` int(10) UNSIGNED NOT NULL,
`alerted_user_id` int(10) UNSIGNED NOT NULL COMMENT 'User being alerted',
`user_id` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'User who did the action that caused the alert',
`username` varchar(50) NOT NULL DEFAULT '' COMMENT 'Corresponds to user_id',
`content_type` varbinary(25) NOT NULL COMMENT 'eg: trophy',
`content_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`action` varbinary(30) NOT NULL COMMENT 'eg: edit',
`event_date` int(10) UNSIGNED NOT NULL,
`view_date` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Time when this was viewed by the alerted user',
`extra_data` mediumblob NOT NULL COMMENT 'Serialized. Stores any extra data relevant to the alert'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_alert_optout`
--

CREATE TABLE `xf_user_alert_optout` (
`user_id` int(10) UNSIGNED NOT NULL,
`alert` varbinary(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_authenticate`
--

CREATE TABLE `xf_user_authenticate` (
`user_id` int(10) UNSIGNED NOT NULL,
`scheme_class` varchar(75) NOT NULL,
`data` mediumblob NOT NULL,
`remember_key` varbinary(40) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_ban`
--

CREATE TABLE `xf_user_ban` (
`user_id` int(10) UNSIGNED NOT NULL,
`ban_user_id` int(10) UNSIGNED NOT NULL,
`ban_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`end_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`user_reason` varchar(255) NOT NULL,
`triggered` tinyint(3) UNSIGNED NOT NULL DEFAULT '1'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_change_log`
--

CREATE TABLE `xf_user_change_log` (
`log_id` int(11) UNSIGNED NOT NULL,
`user_id` int(11) UNSIGNED NOT NULL,
`edit_user_id` int(11) UNSIGNED NOT NULL,
`edit_date` int(10) UNSIGNED NOT NULL,
`field` varchar(100) NOT NULL DEFAULT '',
`old_value` text NOT NULL,
`new_value` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_change_temp`
--

CREATE TABLE `xf_user_change_temp` (
`user_change_temp_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`change_key` varbinary(50) DEFAULT NULL,
`action_type` varbinary(50) NOT NULL,
`action_modifier` varbinary(255) DEFAULT NULL,
`new_value` mediumblob,
`old_value` mediumblob,
`create_date` int(10) UNSIGNED DEFAULT NULL,
`expiry_date` int(10) UNSIGNED DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_confirmation`
--

CREATE TABLE `xf_user_confirmation` (
`user_id` int(10) UNSIGNED NOT NULL,
`confirmation_type` varchar(25) NOT NULL,
`confirmation_key` varchar(16) NOT NULL,
`confirmation_date` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_external_auth`
--

CREATE TABLE `xf_user_external_auth` (
`user_id` int(10) UNSIGNED NOT NULL,
`provider` varbinary(25) NOT NULL,
`provider_key` varbinary(150) NOT NULL,
`extra_data` mediumblob NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_field`
--

CREATE TABLE `xf_user_field` (
`field_id` varbinary(25) NOT NULL,
`display_group` enum('personal','contact','preferences') NOT NULL DEFAULT 'personal',
`display_order` int(10) UNSIGNED NOT NULL DEFAULT '1',
`field_type` enum('textbox','textarea','select','radio','checkb ox','multiselect') NOT NULL DEFAULT 'textbox',
`field_choices` blob NOT NULL,
`match_type` enum('none','number','alphanumeric','email','url', 'regex','callback') NOT NULL DEFAULT 'none',
`match_regex` varchar(250) NOT NULL DEFAULT '',
`match_callback_class` varchar(75) NOT NULL DEFAULT '',
`match_callback_method` varchar(75) NOT NULL DEFAULT '',
`max_length` int(10) UNSIGNED NOT NULL DEFAULT '0',
`required` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`show_registration` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`user_editable` enum('yes','once','never') NOT NULL DEFAULT 'yes',
`viewable_profile` tinyint(4) NOT NULL DEFAULT '1',
`viewable_message` tinyint(4) NOT NULL DEFAULT '0',
`display_template` text NOT NULL,
`moderator_editable` tinyint(3) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_field_value`
--

CREATE TABLE `xf_user_field_value` (
`user_id` int(10) UNSIGNED NOT NULL,
`field_id` varbinary(25) NOT NULL,
`field_value` mediumtext NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_follow`
--

CREATE TABLE `xf_user_follow` (
`user_id` int(10) UNSIGNED NOT NULL,
`follow_user_id` int(10) UNSIGNED NOT NULL COMMENT 'User being followed',
`follow_date` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_group`
--

CREATE TABLE `xf_user_group` (
`user_group_id` int(10) UNSIGNED NOT NULL,
`title` varchar(50) NOT NULL,
`display_style_priority` int(10) UNSIGNED NOT NULL DEFAULT '0',
`username_css` text NOT NULL,
`user_title` varchar(100) NOT NULL DEFAULT '',
`banner_css_class` varchar(75) NOT NULL DEFAULT '',
`banner_text` varchar(100) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_group_change`
--

CREATE TABLE `xf_user_group_change` (
`user_id` int(10) UNSIGNED NOT NULL,
`change_key` varbinary(50) NOT NULL,
`group_ids` varbinary(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_group_promotion`
--

CREATE TABLE `xf_user_group_promotion` (
`promotion_id` int(10) UNSIGNED NOT NULL,
`title` varchar(100) NOT NULL,
`active` tinyint(4) NOT NULL DEFAULT '1',
`user_criteria` mediumblob NOT NULL,
`extra_user_group_ids` varbinary(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_group_promotion_log`
--

CREATE TABLE `xf_user_group_promotion_log` (
`promotion_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`promotion_date` int(10) UNSIGNED NOT NULL,
`promotion_state` enum('automatic','manual','disabled') NOT NULL DEFAULT 'automatic'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_group_relation`
--

CREATE TABLE `xf_user_group_relation` (
`user_id` int(10) UNSIGNED NOT NULL,
`user_group_id` int(10) UNSIGNED NOT NULL,
`is_primary` tinyint(3) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_ignored`
--

CREATE TABLE `xf_user_ignored` (
`user_id` int(10) UNSIGNED NOT NULL,
`ignored_user_id` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_news_feed_cache`
--

CREATE TABLE `xf_user_news_feed_cache` (
`user_id` int(10) UNSIGNED NOT NULL,
`news_feed_cache` mediumblob NOT NULL COMMENT 'Serialized. Contains fetched, parsed news_feed items for user_id',
`news_feed_cache_date` int(10) UNSIGNED NOT NULL COMMENT 'Date at which the cache was last refreshed'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_option`
--

CREATE TABLE `xf_user_option` (
`user_id` int(10) UNSIGNED NOT NULL,
`show_dob_year` tinyint(3) UNSIGNED NOT NULL DEFAULT '1' COMMENT 'Show date of month year (thus: age)',
`show_dob_date` tinyint(3) UNSIGNED NOT NULL DEFAULT '1' COMMENT 'Show date of birth day and month',
`content_show_signature` tinyint(3) UNSIGNED NOT NULL DEFAULT '1' COMMENT 'Show user''s signatures with content',
`receive_admin_email` tinyint(3) UNSIGNED NOT NULL DEFAULT '1',
`email_on_conversation` tinyint(3) UNSIGNED NOT NULL DEFAULT '1' COMMENT 'Receive an email upon receiving a conversation message',
`is_discouraged` tinyint(3) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'If non-zero, this user will be subjected to annoying random system failures.',
`default_watch_state` enum('','watch_no_email','watch_email') NOT NULL DEFAULT '',
`alert_optout` text NOT NULL COMMENT 'Comma-separated list of alerts from which the user has opted out. Example: ''post_like,user_trophy''',
`enable_rte` tinyint(3) UNSIGNED NOT NULL DEFAULT '1',
`enable_flash_uploader` tinyint(3) UNSIGNED NOT NULL DEFAULT '1',
`use_tfa` tinyint(3) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_privacy`
--

CREATE TABLE `xf_user_privacy` (
`user_id` int(10) UNSIGNED NOT NULL,
`allow_view_profile` enum('everyone','members','followed','none') NOT NULL DEFAULT 'everyone',
`allow_post_profile` enum('everyone','members','followed','none') NOT NULL DEFAULT 'everyone',
`allow_send_personal_conversation` enum('everyone','members','followed','none') NOT NULL DEFAULT 'everyone',
`allow_view_identities` enum('everyone','members','followed','none') NOT NULL DEFAULT 'everyone',
`allow_receive_news_feed` enum('everyone','members','followed','none') NOT NULL DEFAULT 'everyone'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_profile`
--

CREATE TABLE `xf_user_profile` (
`user_id` int(10) UNSIGNED NOT NULL,
`dob_day` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`dob_month` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`dob_year` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
`status` text NOT NULL,
`status_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`status_profile_post_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`signature` text NOT NULL,
`homepage` text NOT NULL,
`location` varchar(50) NOT NULL DEFAULT '',
`occupation` varchar(50) NOT NULL DEFAULT '',
`following` text NOT NULL COMMENT 'Comma-separated integers from xf_user_follow',
`ignored` text NOT NULL COMMENT 'Comma-separated integers from xf_user_ignored',
`csrf_token` varchar(40) NOT NULL COMMENT 'Anti CSRF data key',
`avatar_crop_x` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'X-Position from which to start the square crop on the m avatar',
`avatar_crop_y` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Y-Position from which to start the square crop on the m avatar',
`about` text NOT NULL,
`custom_fields` mediumblob NOT NULL,
`external_auth` mediumblob NOT NULL,
`password_date` int(10) UNSIGNED NOT NULL DEFAULT '1'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_status`
--

CREATE TABLE `xf_user_status` (
`profile_post_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`post_date` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_tfa`
--

CREATE TABLE `xf_user_tfa` (
`user_tfa_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`provider_id` varbinary(25) NOT NULL,
`provider_data` mediumblob NOT NULL,
`last_used_date` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_tfa_trusted`
--

CREATE TABLE `xf_user_tfa_trusted` (
`tfa_trusted_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`trusted_key` varbinary(32) NOT NULL,
`trusted_until` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_title_ladder`
--

CREATE TABLE `xf_user_title_ladder` (
`minimum_level` int(10) UNSIGNED NOT NULL,
`title` varchar(250) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_trophy`
--

CREATE TABLE `xf_user_trophy` (
`user_id` int(10) UNSIGNED NOT NULL,
`trophy_id` int(10) UNSIGNED NOT NULL,
`award_date` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_upgrade`
--

CREATE TABLE `xf_user_upgrade` (
`user_upgrade_id` int(10) UNSIGNED NOT NULL,
`title` varchar(50) NOT NULL,
`description` text NOT NULL,
`display_order` int(10) UNSIGNED NOT NULL DEFAULT '0',
`extra_group_ids` varbinary(255) NOT NULL DEFAULT '',
`recurring` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',
`cost_amount` decimal(10,2) UNSIGNED NOT NULL,
`cost_currency` varchar(3) NOT NULL,
`length_amount` tinyint(3) UNSIGNED NOT NULL,
`length_unit` enum('day','month','year','') NOT NULL DEFAULT '',
`disabled_upgrade_ids` varbinary(255) NOT NULL DEFAULT '',
`can_purchase` tinyint(3) UNSIGNED NOT NULL DEFAULT '1'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_upgrade_active`
--

CREATE TABLE `xf_user_upgrade_active` (
`user_upgrade_record_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`user_upgrade_id` int(10) UNSIGNED NOT NULL,
`extra` mediumblob NOT NULL,
`start_date` int(10) UNSIGNED NOT NULL,
`end_date` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_upgrade_expired`
--

CREATE TABLE `xf_user_upgrade_expired` (
`user_upgrade_record_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`user_upgrade_id` int(10) UNSIGNED NOT NULL,
`extra` mediumblob NOT NULL,
`start_date` int(10) UNSIGNED NOT NULL,
`end_date` int(10) UNSIGNED NOT NULL DEFAULT '0',
`original_end_date` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_user_upgrade_log`
--

CREATE TABLE `xf_user_upgrade_log` (
`user_upgrade_log_id` int(10) UNSIGNED NOT NULL,
`user_upgrade_record_id` int(10) UNSIGNED NOT NULL,
`processor` varchar(25) NOT NULL,
`transaction_id` varchar(50) NOT NULL,
`subscriber_id` varchar(50) NOT NULL DEFAULT '',
`transaction_type` enum('payment','cancel','info','error') NOT NULL,
`message` varchar(255) NOT NULL DEFAULT '',
`transaction_details` mediumblob NOT NULL,
`log_date` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_warning`
--

CREATE TABLE `xf_warning` (
`warning_id` int(10) UNSIGNED NOT NULL,
`content_type` varbinary(25) NOT NULL,
`content_id` int(10) UNSIGNED NOT NULL,
`content_title` varchar(255) NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`warning_date` int(10) UNSIGNED NOT NULL,
`warning_user_id` int(10) UNSIGNED NOT NULL,
`warning_definition_id` int(10) UNSIGNED NOT NULL,
`title` varchar(255) NOT NULL,
`notes` text NOT NULL,
`points` smallint(5) UNSIGNED NOT NULL,
`expiry_date` int(10) UNSIGNED NOT NULL,
`is_expired` tinyint(3) UNSIGNED NOT NULL,
`extra_user_group_ids` varbinary(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_warning_action`
--

CREATE TABLE `xf_warning_action` (
`warning_action_id` int(10) UNSIGNED NOT NULL,
`points` smallint(5) UNSIGNED NOT NULL,
`action` varbinary(25) NOT NULL,
`action_length_type` varbinary(25) NOT NULL,
`action_length` smallint(5) UNSIGNED NOT NULL,
`extra_user_group_ids` varbinary(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_warning_action_trigger`
--

CREATE TABLE `xf_warning_action_trigger` (
`action_trigger_id` int(10) UNSIGNED NOT NULL,
`warning_action_id` int(10) UNSIGNED NOT NULL,
`user_id` int(10) UNSIGNED NOT NULL,
`trigger_points` smallint(5) UNSIGNED NOT NULL,
`action_date` int(10) UNSIGNED NOT NULL,
`action` varbinary(25) NOT NULL,
`min_unban_date` int(10) UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `xf_warning_definition`
--

CREATE TABLE `xf_warning_definition` (
`warning_definition_id` int(10) UNSIGNED NOT NULL,
`points_default` smallint(5) UNSIGNED NOT NULL,
`expiry_type` enum('never','days','weeks','months','years') NOT NULL,
`expiry_default` smallint(5) UNSIGNED NOT NULL,
`extra_user_group_ids` varbinary(255) NOT NULL,
`is_editable` tinyint(3) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Indexes for dumped tables
--

--
-- Indexes for table `xf_addon`
--
ALTER TABLE `xf_addon`
ADD PRIMARY KEY (`addon_id`),
ADD KEY `title` (`title`);

--
-- Indexes for table `xf_admin`
--
ALTER TABLE `xf_admin`
ADD PRIMARY KEY (`user_id`);

--
-- Indexes for table `xf_admin_log`
--
ALTER TABLE `xf_admin_log`
ADD PRIMARY KEY (`admin_log_id`),
ADD KEY `request_date` (`request_date`),
ADD KEY `user_id_request_date` (`user_id`,`request_date`);

--
-- Indexes for table `xf_admin_navigation`
--
ALTER TABLE `xf_admin_navigation`
ADD PRIMARY KEY (`navigation_id`),
ADD KEY `parent_navigation_id_display_order` (`parent_navigation_id`,`display_order`);

--
-- Indexes for table `xf_admin_permission`
--
ALTER TABLE `xf_admin_permission`
ADD PRIMARY KEY (`admin_permission_id`),
ADD KEY `display_order` (`display_order`);

--
-- Indexes for table `xf_admin_permission_entry`
--
ALTER TABLE `xf_admin_permission_entry`
ADD PRIMARY KEY (`user_id`,`admin_permission_id`);

--
-- Indexes for table `xf_admin_search_type`
--
ALTER TABLE `xf_admin_search_type`
ADD PRIMARY KEY (`search_type`);

--
-- Indexes for table `xf_admin_template`
--
ALTER TABLE `xf_admin_template`
ADD PRIMARY KEY (`template_id`),
ADD UNIQUE KEY `title` (`title`);

--
-- Indexes for table `xf_admin_template_compiled`
--
ALTER TABLE `xf_admin_template_compiled`
ADD PRIMARY KEY (`language_id`,`title`);

--
-- Indexes for table `xf_admin_template_include`
--
ALTER TABLE `xf_admin_template_include`
ADD PRIMARY KEY (`source_id`,`target_id`),
ADD KEY `target` (`target_id`);

--
-- Indexes for table `xf_admin_template_modification`
--
ALTER TABLE `xf_admin_template_modification`
ADD PRIMARY KEY (`modification_id`),
ADD UNIQUE KEY `modification_key` (`modification_key`),
ADD KEY `addon_id` (`addon_id`),
ADD KEY `template_order` (`template`,`execution_order`);

--
-- Indexes for table `xf_admin_template_modification_log`
--
ALTER TABLE `xf_admin_template_modification_log`
ADD PRIMARY KEY (`template_id`,`modification_id`),
ADD KEY `modification_id` (`modification_id`);

--
-- Indexes for table `xf_admin_template_phrase`
--
ALTER TABLE `xf_admin_template_phrase`
ADD PRIMARY KEY (`template_id`,`phrase_title`),
ADD KEY `phrase_title` (`phrase_title`);

--
-- Indexes for table `xf_attachment`
--
ALTER TABLE `xf_attachment`
ADD PRIMARY KEY (`attachment_id`),
ADD KEY `content_type_id_date` (`content_type`,`content_id`,`attach_date`),
ADD KEY `temp_hash_attach_date` (`temp_hash`,`attach_date`),
ADD KEY `unassociated_attach_date` (`unassociated`,`attach_date`);

--
-- Indexes for table `xf_attachment_data`
--
ALTER TABLE `xf_attachment_data`
ADD PRIMARY KEY (`data_id`),
ADD KEY `user_id_upload_date` (`user_id`,`upload_date`),
ADD KEY `attach_count` (`attach_count`),
ADD KEY `upload_date` (`upload_date`);

--
-- Indexes for table `xf_attachment_view`
--
ALTER TABLE `xf_attachment_view`
ADD KEY `attachment_id` (`attachment_id`);

--
-- Indexes for table `xf_ban_email`
--
ALTER TABLE `xf_ban_email`
ADD PRIMARY KEY (`banned_email`);

--
-- Indexes for table `xf_bb_code`
--
ALTER TABLE `xf_bb_code`
ADD PRIMARY KEY (`bb_code_id`);

--
-- Indexes for table `xf_bb_code_media_site`
--
ALTER TABLE `xf_bb_code_media_site`
ADD PRIMARY KEY (`media_site_id`);

--
-- Indexes for table `xf_bb_code_parse_cache`
--
ALTER TABLE `xf_bb_code_parse_cache`
ADD PRIMARY KEY (`bb_code_parse_cache_id`),
ADD UNIQUE KEY `content_type_id` (`content_type`,`content_id`),
ADD KEY `cache_version` (`cache_version`),
ADD KEY `cache_date` (`cache_date`);

--
-- Indexes for table `xf_captcha_log`
--
ALTER TABLE `xf_captcha_log`
ADD PRIMARY KEY (`hash`),
ADD KEY `captcha_date` (`captcha_date`);

--
-- Indexes for table `xf_captcha_question`
--
ALTER TABLE `xf_captcha_question`
ADD PRIMARY KEY (`captcha_question_id`),
ADD KEY `active` (`active`);

--
-- Indexes for table `xf_code_event`
--
ALTER TABLE `xf_code_event`
ADD PRIMARY KEY (`event_id`);

--
-- Indexes for table `xf_code_event_listener`
--
ALTER TABLE `xf_code_event_listener`
ADD PRIMARY KEY (`event_listener_id`),
ADD KEY `event_id_execute_order` (`event_id`,`execute_order`),
ADD KEY `addon_id_event_id` (`addon_id`,`event_id`);

--
-- Indexes for table `xf_content_spam_cache`
--
ALTER TABLE `xf_content_spam_cache`
ADD PRIMARY KEY (`spam_cache_id`),
ADD UNIQUE KEY `content_type` (`content_type`,`content_id`),
ADD KEY `insert_date` (`insert_date`);

--
-- Indexes for table `xf_content_type`
--
ALTER TABLE `xf_content_type`
ADD PRIMARY KEY (`content_type`);

--
-- Indexes for table `xf_content_type_field`
--
ALTER TABLE `xf_content_type_field`
ADD PRIMARY KEY (`content_type`,`field_name`),
ADD KEY `field_name` (`field_name`);

--
-- Indexes for table `xf_conversation_master`
--
ALTER TABLE `xf_conversation_master`
ADD PRIMARY KEY (`conversation_id`),
ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `xf_conversation_message`
--
ALTER TABLE `xf_conversation_message`
ADD PRIMARY KEY (`message_id`),
ADD KEY `conversation_id_message_date` (`conversation_id`,`message_date`),
ADD KEY `message_date` (`message_date`),
ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `xf_conversation_recipient`
--
ALTER TABLE `xf_conversation_recipient`
ADD PRIMARY KEY (`conversation_id`,`user_id`),
ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `xf_conversation_user`
--
ALTER TABLE `xf_conversation_user`
ADD PRIMARY KEY (`conversation_id`,`owner_user_id`),
ADD KEY `owner_user_id_last_message_date` (`owner_user_id`,`last_message_date`),
ADD KEY `owner_user_id_is_unread` (`owner_user_id`,`is_unread`),
ADD KEY `owner_starred_date` (`owner_user_id`,`is_starred`,`last_message_date`) ;

--
-- Indexes for table `xf_cron_entry`
--
ALTER TABLE `xf_cron_entry`
ADD PRIMARY KEY (`entry_id`),
ADD KEY `active_next_run` (`active`,`next_run`);

--
-- Indexes for table `xf_data_registry`
--
ALTER TABLE `xf_data_registry`
ADD PRIMARY KEY (`data_key`);

--
-- Indexes for table `xf_deferred`
--
ALTER TABLE `xf_deferred`
ADD PRIMARY KEY (`deferred_id`),
ADD UNIQUE KEY `unique_key` (`unique_key`),
ADD KEY `trigger_date` (`trigger_date`),
ADD KEY `manual_execute_date` (`manual_execute`,`trigger_date`);

--
-- Indexes for table `xf_deletion_log`
--
ALTER TABLE `xf_deletion_log`
ADD PRIMARY KEY (`content_type`,`content_id`),
ADD KEY `delete_user_id_date` (`delete_user_id`,`delete_date`);

--
-- Indexes for table `xf_draft`
--
ALTER TABLE `xf_draft`
ADD PRIMARY KEY (`draft_id`),
ADD UNIQUE KEY `draft_key_user` (`draft_key`,`user_id`),
ADD KEY `last_update` (`last_update`);

--
-- Indexes for table `xf_edit_history`
--
ALTER TABLE `xf_edit_history`
ADD PRIMARY KEY (`edit_history_id`),
ADD KEY `content_type` (`content_type`,`content_id`,`edit_date`),
ADD KEY `edit_date` (`edit_date`),
ADD KEY `edit_user_id` (`edit_user_id`);

--
-- Indexes for table `xf_email_bounce_log`
--
ALTER TABLE `xf_email_bounce_log`
ADD PRIMARY KEY (`bounce_id`),
ADD KEY `log_date` (`log_date`);

--
-- Indexes for table `xf_email_bounce_soft`
--
ALTER TABLE `xf_email_bounce_soft`
ADD PRIMARY KEY (`bounce_soft_id`),
ADD UNIQUE KEY `user_id` (`user_id`,`bounce_date`),
ADD KEY `bounce_date` (`bounce_date`);

--
-- Indexes for table `xf_email_template`
--
ALTER TABLE `xf_email_template`
ADD PRIMARY KEY (`template_id`),
ADD UNIQUE KEY `title_custom` (`title`,`custom`);

--
-- Indexes for table `xf_email_template_compiled`
--
ALTER TABLE `xf_email_template_compiled`
ADD PRIMARY KEY (`title`,`language_id`);

--
-- Indexes for table `xf_email_template_modification`
--
ALTER TABLE `xf_email_template_modification`
ADD PRIMARY KEY (`modification_id`),
ADD UNIQUE KEY `modification_key` (`modification_key`),
ADD KEY `addon_id` (`addon_id`),
ADD KEY `template_order` (`template`,`execution_order`);

--
-- Indexes for table `xf_email_template_modification_log`
--
ALTER TABLE `xf_email_template_modification_log`
ADD PRIMARY KEY (`template_id`,`modification_id`),
ADD KEY `modification_id` (`modification_id`);

--
-- Indexes for table `xf_email_template_phrase`
--
ALTER TABLE `xf_email_template_phrase`
ADD PRIMARY KEY (`title`,`phrase_title`),
ADD KEY `phrase_title` (`phrase_title`);

--
-- Indexes for table `xf_error_log`
--
ALTER TABLE `xf_error_log`
ADD PRIMARY KEY (`error_id`),
ADD KEY `exception_date` (`exception_date`);

--
-- Indexes for table `xf_feed`
--
ALTER TABLE `xf_feed`
ADD PRIMARY KEY (`feed_id`),
ADD KEY `active` (`active`);

--
-- Indexes for table `xf_feed_log`
--
ALTER TABLE `xf_feed_log`
ADD PRIMARY KEY (`feed_id`,`unique_id`);

--
-- Indexes for table `xf_flood_check`
--
ALTER TABLE `xf_flood_check`
ADD PRIMARY KEY (`user_id`,`flood_action`),
ADD KEY `flood_time` (`flood_time`);

--
-- Indexes for table `xf_forum`
--
ALTER TABLE `xf_forum`
ADD PRIMARY KEY (`node_id`);

--
-- Indexes for table `xf_forum_prefix`
--
ALTER TABLE `xf_forum_prefix`
ADD PRIMARY KEY (`node_id`,`prefix_id`),
ADD KEY `prefix_id` (`prefix_id`);

--
-- Indexes for table `xf_forum_read`
--
ALTER TABLE `xf_forum_read`
ADD PRIMARY KEY (`forum_read_id`),
ADD UNIQUE KEY `user_id_node_id` (`user_id`,`node_id`),
ADD KEY `node_id` (`node_id`),
ADD KEY `forum_read_date` (`forum_read_date`);

--
-- Indexes for table `xf_forum_watch`
--
ALTER TABLE `xf_forum_watch`
ADD PRIMARY KEY (`user_id`,`node_id`),
ADD KEY `node_id_notify_on` (`node_id`,`notify_on`);

--
-- Indexes for table `xf_help_page`
--
ALTER TABLE `xf_help_page`
ADD PRIMARY KEY (`page_id`),
ADD UNIQUE KEY `page_name` (`page_name`),
ADD KEY `display_order` (`display_order`);

--
-- Indexes for table `xf_image_proxy`
--
ALTER TABLE `xf_image_proxy`
ADD PRIMARY KEY (`image_id`),
ADD UNIQUE KEY `url_hash` (`url_hash`),
ADD KEY `pruned_fetch_date` (`pruned`,`fetch_date`),
ADD KEY `last_request_date` (`last_request_date`),
ADD KEY `is_processing` (`is_processing`);

--
-- Indexes for table `xf_image_proxy_referrer`
--
ALTER TABLE `xf_image_proxy_referrer`
ADD PRIMARY KEY (`referrer_id`),
ADD UNIQUE KEY `image_id_hash` (`image_id`,`referrer_hash`),
ADD KEY `last_date` (`last_date`);

--
-- Indexes for table `xf_import_log`
--
ALTER TABLE `xf_import_log`
ADD PRIMARY KEY (`content_type`,`old_id`);

--
-- Indexes for table `xf_ip`
--
ALTER TABLE `xf_ip`
ADD PRIMARY KEY (`ip_id`),
ADD KEY `user_id_log_date` (`user_id`,`log_date`),
ADD KEY `ip_log_date` (`ip`,`log_date`),
ADD KEY `content_type_content_id` (`content_type`,`content_id`),
ADD KEY `log_date` (`log_date`);

--
-- Indexes for table `xf_ip_match`
--
ALTER TABLE `xf_ip_match`
ADD PRIMARY KEY (`ip`,`match_type`),
ADD KEY `start_range` (`start_range`);

--
-- Indexes for table `xf_language`
--
ALTER TABLE `xf_language`
ADD PRIMARY KEY (`language_id`);

--
-- Indexes for table `xf_liked_content`
--
ALTER TABLE `xf_liked_content`
ADD PRIMARY KEY (`like_id`),
ADD UNIQUE KEY `content_type_id_like_user_id` (`content_type`,`content_id`,`like_user_id`),
ADD KEY `like_user_content_type_id` (`like_user_id`,`content_type`,`content_id`),
ADD KEY `content_user_id_like_date` (`content_user_id`,`like_date`),
ADD KEY `like_date` (`like_date`);

--
-- Indexes for table `xf_link_forum`
--
ALTER TABLE `xf_link_forum`
ADD PRIMARY KEY (`node_id`);

--
-- Indexes for table `xf_link_proxy`
--
ALTER TABLE `xf_link_proxy`
ADD PRIMARY KEY (`link_id`),
ADD UNIQUE KEY `url_hash` (`url_hash`),
ADD KEY `last_request_date` (`last_request_date`);

--
-- Indexes for table `xf_link_proxy_referrer`
--
ALTER TABLE `xf_link_proxy_referrer`
ADD PRIMARY KEY (`referrer_id`),
ADD UNIQUE KEY `link_id_hash` (`link_id`,`referrer_hash`),
ADD KEY `last_date` (`last_date`);

--
-- Indexes for table `xf_login_attempt`
--
ALTER TABLE `xf_login_attempt`
ADD PRIMARY KEY (`attempt_id`),
ADD KEY `login_check` (`login`,`ip_address`,`attempt_date`),
ADD KEY `attempt_date` (`attempt_date`),
ADD KEY `ip_address_attempt_date` (`ip_address`,`attempt_date`);

--
-- Indexes for table `xf_mail_queue`
--
ALTER TABLE `xf_mail_queue`
ADD PRIMARY KEY (`mail_queue_id`),
ADD KEY `queue_date` (`queue_date`);

--
-- Indexes for table `xf_moderation_queue`
--
ALTER TABLE `xf_moderation_queue`
ADD PRIMARY KEY (`content_type`,`content_id`),
ADD KEY `content_date` (`content_date`);

--
-- Indexes for table `xf_moderator`
--
ALTER TABLE `xf_moderator`
ADD PRIMARY KEY (`user_id`);

--
-- Indexes for table `xf_moderator_content`
--
ALTER TABLE `xf_moderator_content`
ADD PRIMARY KEY (`moderator_id`),
ADD UNIQUE KEY `content_user_id` (`content_type`,`content_id`,`user_id`),
ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `xf_moderator_log`
--
ALTER TABLE `xf_moderator_log`
ADD PRIMARY KEY (`moderator_log_id`),
ADD KEY `log_date` (`log_date`),
ADD KEY `content_type_id` (`content_type`,`content_id`),
ADD KEY `discussion_content_type_id` (`discussion_content_type`,`discussion_content_id` ),
ADD KEY `user_id_log_date` (`user_id`,`log_date`);

--
-- Indexes for table `xf_news_feed`
--
ALTER TABLE `xf_news_feed`
ADD PRIMARY KEY (`news_feed_id`),
ADD KEY `userId_eventDate` (`user_id`,`event_date`),
ADD KEY `contentType_contentId` (`content_type`,`content_id`),
ADD KEY `event_date` (`event_date`);

--
-- Indexes for table `xf_node`
--
ALTER TABLE `xf_node`
ADD PRIMARY KEY (`node_id`),
ADD UNIQUE KEY `node_name_unique` (`node_name`,`node_type_id`),
ADD KEY `parent_node_id` (`parent_node_id`),
ADD KEY `display_order` (`display_order`),
ADD KEY `display_in_list` (`display_in_list`,`lft`),
ADD KEY `lft` (`lft`);

--
-- Indexes for table `xf_node_type`
--
ALTER TABLE `xf_node_type`
ADD PRIMARY KEY (`node_type_id`);

--
-- Indexes for table `xf_notice`
--
ALTER TABLE `xf_notice`
ADD PRIMARY KEY (`notice_id`);

--
-- Indexes for table `xf_notice_dismissed`
--
ALTER TABLE `xf_notice_dismissed`
ADD PRIMARY KEY (`notice_id`,`user_id`),
ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `xf_option`
--
ALTER TABLE `xf_option`
ADD PRIMARY KEY (`option_id`);

--
-- Indexes for table `xf_option_group`
--
ALTER TABLE `xf_option_group`
ADD PRIMARY KEY (`group_id`),
ADD KEY `display_order` (`display_order`);

--
-- Indexes for table `xf_option_group_relation`
--
ALTER TABLE `xf_option_group_relation`
ADD PRIMARY KEY (`option_id`,`group_id`),
ADD KEY `group_id_display_order` (`group_id`,`display_order`);

--
-- Indexes for table `xf_page`
--
ALTER TABLE `xf_page`
ADD PRIMARY KEY (`node_id`);

--
-- Indexes for table `xf_permission`
--
ALTER TABLE `xf_permission`
ADD PRIMARY KEY (`permission_id`,`permission_group_id`),
ADD KEY `display_order` (`display_order`);

--
-- Indexes for table `xf_permission_cache_content`
--
ALTER TABLE `xf_permission_cache_content`
ADD PRIMARY KEY (`permission_combination_id`,`content_type`,`conte nt_id`);

--
-- Indexes for table `xf_permission_combination`
--
ALTER TABLE `xf_permission_combination`
ADD PRIMARY KEY (`permission_combination_id`),
ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `xf_permission_combination_user_group`
--
ALTER TABLE `xf_permission_combination_user_group`
ADD PRIMARY KEY (`user_group_id`,`permission_combination_id`),
ADD KEY `permission_combination_id` (`permission_combination_id`);

--
-- Indexes for table `xf_permission_entry`
--
ALTER TABLE `xf_permission_entry`
ADD PRIMARY KEY (`permission_entry_id`),
ADD UNIQUE KEY `unique_permission` (`user_group_id`,`user_id`,`permission_group_id`,` permission_id`);

--
-- Indexes for table `xf_permission_entry_content`
--
ALTER TABLE `xf_permission_entry_content`
ADD PRIMARY KEY (`permission_entry_id`),
ADD UNIQUE KEY `user_group_id_unique` (`user_group_id`,`user_id`,`content_type`,`content _id`,`permission_group_id`,`permission_id`),
ADD KEY `content_type_content_id` (`content_type`,`content_id`);

--
-- Indexes for table `xf_permission_group`
--
ALTER TABLE `xf_permission_group`
ADD PRIMARY KEY (`permission_group_id`);

--
-- Indexes for table `xf_permission_interface_group`
--
ALTER TABLE `xf_permission_interface_group`
ADD PRIMARY KEY (`interface_group_id`),
ADD KEY `display_order` (`display_order`);

--
-- Indexes for table `xf_phrase`
--
ALTER TABLE `xf_phrase`
ADD PRIMARY KEY (`phrase_id`),
ADD UNIQUE KEY `title` (`title`,`language_id`),
ADD KEY `language_id_global_cache` (`language_id`,`global_cache`);

--
-- Indexes for table `xf_phrase_compiled`
--
ALTER TABLE `xf_phrase_compiled`
ADD PRIMARY KEY (`language_id`,`title`);

--
-- Indexes for table `xf_phrase_map`
--
ALTER TABLE `xf_phrase_map`
ADD PRIMARY KEY (`phrase_map_id`),
ADD UNIQUE KEY `language_id_title` (`language_id`,`title`),
ADD KEY `phrase_id` (`phrase_id`);

--
-- Indexes for table `xf_poll`
--
ALTER TABLE `xf_poll`
ADD PRIMARY KEY (`poll_id`),
ADD UNIQUE KEY `content_type_content_id` (`content_type`,`content_id`);

--
-- Indexes for table `xf_poll_response`
--
ALTER TABLE `xf_poll_response`
ADD PRIMARY KEY (`poll_response_id`),
ADD KEY `poll_id_response_id` (`poll_id`,`poll_response_id`);

--
-- Indexes for table `xf_poll_vote`
--
ALTER TABLE `xf_poll_vote`
ADD PRIMARY KEY (`poll_response_id`,`user_id`),
ADD KEY `poll_id_user_id` (`poll_id`,`user_id`),
ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `xf_post`
--
ALTER TABLE `xf_post`
ADD PRIMARY KEY (`post_id`),
ADD KEY `thread_id_post_date` (`thread_id`,`post_date`),
ADD KEY `thread_id_position` (`thread_id`,`position`),
ADD KEY `user_id` (`user_id`),
ADD KEY `post_date` (`post_date`);

--
-- Indexes for table `xf_profile_post`
--
ALTER TABLE `xf_profile_post`
ADD PRIMARY KEY (`profile_post_id`),
ADD KEY `profile_user_id_post_date` (`profile_user_id`,`post_date`),
ADD KEY `user_id` (`user_id`),
ADD KEY `post_date` (`post_date`);

--
-- Indexes for table `xf_profile_post_comment`
--
ALTER TABLE `xf_profile_post_comment`
ADD PRIMARY KEY (`profile_post_comment_id`),
ADD KEY `profile_post_id_comment_date` (`profile_post_id`,`comment_date`),
ADD KEY `user_id` (`user_id`),
ADD KEY `comment_date` (`comment_date`);

--
-- Indexes for table `xf_registration_spam_cache`
--
ALTER TABLE `xf_registration_spam_cache`
ADD PRIMARY KEY (`cache_key`),
ADD KEY `timeout` (`timeout`);

--
-- Indexes for table `xf_report`
--
ALTER TABLE `xf_report`
ADD PRIMARY KEY (`report_id`),
ADD UNIQUE KEY `content_type_content_id` (`content_type`,`content_id`),
ADD KEY `report_state` (`report_state`),
ADD KEY `assigned_user_id_state` (`assigned_user_id`,`report_state`),
ADD KEY `last_modified_date` (`last_modified_date`),
ADD KEY `content_user_id_modified` (`content_user_id`,`last_modified_date`);

--
-- Indexes for table `xf_report_comment`
--
ALTER TABLE `xf_report_comment`
ADD PRIMARY KEY (`report_comment_id`),
ADD KEY `report_id_date` (`report_id`,`comment_date`),
ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `xf_route_filter`
--
ALTER TABLE `xf_route_filter`
ADD PRIMARY KEY (`route_filter_id`),
ADD KEY `route_type_prefix` (`route_type`,`prefix`);

--
-- Indexes for table `xf_route_prefix`
--
ALTER TABLE `xf_route_prefix`
ADD PRIMARY KEY (`route_type`,`original_prefix`);

--
-- Indexes for table `xf_search`
--
ALTER TABLE `xf_search`
ADD PRIMARY KEY (`search_id`),
ADD KEY `search_date` (`search_date`),
ADD KEY `query_hash` (`query_hash`);

--
-- Indexes for table `xf_search_index`
--
ALTER TABLE `xf_search_index`
ADD PRIMARY KEY (`content_type`,`content_id`),
ADD KEY `user_id_item_date` (`user_id`,`item_date`);
ALTER TABLE `xf_search_index` ADD FULLTEXT KEY `title_message_metadata` (`title`,`message`,`metadata`);
ALTER TABLE `xf_search_index` ADD FULLTEXT KEY `title_metadata` (`title`,`metadata`);

--
-- Indexes for table `xf_session`
--
ALTER TABLE `xf_session`
ADD PRIMARY KEY (`session_id`),
ADD KEY `expiry_date` (`expiry_date`);

--
-- Indexes for table `xf_session_activity`
--
ALTER TABLE `xf_session_activity`
ADD PRIMARY KEY (`user_id`,`unique_key`) USING BTREE,
ADD KEY `view_date` (`view_date`) USING BTREE;

--
-- Indexes for table `xf_session_admin`
--
ALTER TABLE `xf_session_admin`
ADD PRIMARY KEY (`session_id`),
ADD KEY `expiry_date` (`expiry_date`);

--
-- Indexes for table `xf_sitemap`
--
ALTER TABLE `xf_sitemap`
ADD PRIMARY KEY (`sitemap_id`),
ADD KEY `is_active` (`is_active`);

--
-- Indexes for table `xf_smilie`
--
ALTER TABLE `xf_smilie`
ADD PRIMARY KEY (`smilie_id`),
ADD KEY `display_order` (`display_order`);

--
-- Indexes for table `xf_smilie_category`
--
ALTER TABLE `xf_smilie_category`
ADD PRIMARY KEY (`smilie_category_id`);

--
-- Indexes for table `xf_spam_cleaner_log`
--
ALTER TABLE `xf_spam_cleaner_log`
ADD PRIMARY KEY (`spam_cleaner_log_id`),
ADD KEY `application_date` (`application_date`);

--
-- Indexes for table `xf_spam_trigger_log`
--
ALTER TABLE `xf_spam_trigger_log`
ADD PRIMARY KEY (`trigger_log_id`),
ADD UNIQUE KEY `content_type` (`content_type`,`content_id`),
ADD KEY `log_date` (`log_date`);

--
-- Indexes for table `xf_stats_daily`
--
ALTER TABLE `xf_stats_daily`
ADD PRIMARY KEY (`stats_date`,`stats_type`);

--
-- Indexes for table `xf_style`
--
ALTER TABLE `xf_style`
ADD PRIMARY KEY (`style_id`);

--
-- Indexes for table `xf_style_property`
--
ALTER TABLE `xf_style_property`
ADD PRIMARY KEY (`property_id`),
ADD UNIQUE KEY `definition_id_style_id` (`property_definition_id`,`style_id`);

--
-- Indexes for table `xf_style_property_definition`
--
ALTER TABLE `xf_style_property_definition`
ADD PRIMARY KEY (`property_definition_id`),
ADD UNIQUE KEY `definition_style_id_property_name` (`definition_style_id`,`property_name`);

--
-- Indexes for table `xf_style_property_group`
--
ALTER TABLE `xf_style_property_group`
ADD PRIMARY KEY (`property_group_id`),
ADD UNIQUE KEY `group_name_style_id` (`group_name`,`group_style_id`);

--
-- Indexes for table `xf_tag`
--
ALTER TABLE `xf_tag`
ADD PRIMARY KEY (`tag_id`),
ADD UNIQUE KEY `tag` (`tag`),
ADD UNIQUE KEY `tag_url` (`tag_url`),
ADD KEY `use_count` (`use_count`);

--
-- Indexes for table `xf_tag_content`
--
ALTER TABLE `xf_tag_content`
ADD PRIMARY KEY (`tag_content_id`),
ADD UNIQUE KEY `content_type_id_tag` (`content_type`,`content_id`,`tag_id`),
ADD KEY `tag_id_content_date` (`tag_id`,`content_date`);

--
-- Indexes for table `xf_tag_result_cache`
--
ALTER TABLE `xf_tag_result_cache`
ADD PRIMARY KEY (`result_cache_id`),
ADD UNIQUE KEY `tag_id_user_id` (`tag_id`,`user_id`),
ADD KEY `expiration_date` (`expiry_date`);

--
-- Indexes for table `xf_template`
--
ALTER TABLE `xf_template`
ADD PRIMARY KEY (`template_id`),
ADD UNIQUE KEY `title_style_id` (`title`,`style_id`);

--
-- Indexes for table `xf_template_compiled`
--
ALTER TABLE `xf_template_compiled`
ADD PRIMARY KEY (`style_id`,`language_id`,`title`);

--
-- Indexes for table `xf_template_history`
--
ALTER TABLE `xf_template_history`
ADD PRIMARY KEY (`template_history_id`),
ADD KEY `log_date` (`log_date`),
ADD KEY `style_id_title` (`style_id`,`title`),
ADD KEY `title` (`title`);

--
-- Indexes for table `xf_template_include`
--
ALTER TABLE `xf_template_include`
ADD PRIMARY KEY (`source_map_id`,`target_map_id`),
ADD KEY `target` (`target_map_id`);

--
-- Indexes for table `xf_template_map`
--
ALTER TABLE `xf_template_map`
ADD PRIMARY KEY (`template_map_id`),
ADD UNIQUE KEY `style_id_title` (`style_id`,`title`),
ADD KEY `template_id` (`template_id`);

--
-- Indexes for table `xf_template_modification`
--
ALTER TABLE `xf_template_modification`
ADD PRIMARY KEY (`modification_id`),
ADD UNIQUE KEY `modification_key` (`modification_key`),
ADD KEY `addon_id` (`addon_id`),
ADD KEY `template_order` (`template`,`execution_order`);

--
-- Indexes for table `xf_template_modification_log`
--
ALTER TABLE `xf_template_modification_log`
ADD PRIMARY KEY (`template_id`,`modification_id`),
ADD KEY `modification_id` (`modification_id`);

--
-- Indexes for table `xf_template_phrase`
--
ALTER TABLE `xf_template_phrase`
ADD PRIMARY KEY (`template_map_id`,`phrase_title`),
ADD KEY `phrase_title` (`phrase_title`);

--
-- Indexes for table `xf_tfa_attempt`
--
ALTER TABLE `xf_tfa_attempt`
ADD PRIMARY KEY (`attempt_id`),
ADD KEY `attempt_date` (`attempt_date`),
ADD KEY `user_id_attempt_date` (`user_id`,`attempt_date`);

--
-- Indexes for table `xf_tfa_provider`
--
ALTER TABLE `xf_tfa_provider`
ADD PRIMARY KEY (`provider_id`);

--
-- Indexes for table `xf_thread`
--
ALTER TABLE `xf_thread`
ADD PRIMARY KEY (`thread_id`),
ADD KEY `node_id_last_post_date` (`node_id`,`last_post_date`),
ADD KEY `node_id_sticky_state_last_post` (`node_id`,`sticky`,`discussion_state`,`last_post_ date`),
ADD KEY `last_post_date` (`last_post_date`),
ADD KEY `post_date` (`post_date`),
ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `xf_thread_prefix`
--
ALTER TABLE `xf_thread_prefix`
ADD PRIMARY KEY (`prefix_id`),
ADD KEY `materialized_order` (`materialized_order`);

--
-- Indexes for table `xf_thread_prefix_group`
--
ALTER TABLE `xf_thread_prefix_group`
ADD PRIMARY KEY (`prefix_group_id`);

--
-- Indexes for table `xf_thread_read`
--
ALTER TABLE `xf_thread_read`
ADD PRIMARY KEY (`thread_read_id`),
ADD UNIQUE KEY `user_id_thread_id` (`user_id`,`thread_id`),
ADD KEY `thread_id` (`thread_id`),
ADD KEY `thread_read_date` (`thread_read_date`);

--
-- Indexes for table `xf_thread_redirect`
--
ALTER TABLE `xf_thread_redirect`
ADD PRIMARY KEY (`thread_id`),
ADD KEY `redirect_key_expiry_date` (`redirect_key`,`expiry_date`);

--
-- Indexes for table `xf_thread_reply_ban`
--
ALTER TABLE `xf_thread_reply_ban`
ADD PRIMARY KEY (`thread_reply_ban_id`),
ADD UNIQUE KEY `thread_id` (`thread_id`,`user_id`),
ADD KEY `expiry_date` (`expiry_date`),
ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `xf_thread_user_post`
--
ALTER TABLE `xf_thread_user_post`
ADD PRIMARY KEY (`thread_id`,`user_id`),
ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `xf_thread_view`
--
ALTER TABLE `xf_thread_view`
ADD KEY `thread_id` (`thread_id`);

--
-- Indexes for table `xf_thread_watch`
--
ALTER TABLE `xf_thread_watch`
ADD PRIMARY KEY (`user_id`,`thread_id`),
ADD KEY `thread_id_email_subscribe` (`thread_id`,`email_subscribe`);

--
-- Indexes for table `xf_trophy`
--
ALTER TABLE `xf_trophy`
ADD PRIMARY KEY (`trophy_id`);

--
-- Indexes for table `xf_upgrade_log`
--
ALTER TABLE `xf_upgrade_log`
ADD PRIMARY KEY (`version_id`);

--
-- Indexes for table `xf_user`
--
ALTER TABLE `xf_user`
ADD PRIMARY KEY (`user_id`),
ADD UNIQUE KEY `username` (`username`),
ADD KEY `email` (`email`),
ADD KEY `user_state` (`user_state`),
ADD KEY `last_activity` (`last_activity`),
ADD KEY `message_count` (`message_count`),
ADD KEY `trophy_points` (`trophy_points`),
ADD KEY `like_count` (`like_count`),
ADD KEY `register_date` (`register_date`),
ADD KEY `staff_username` (`is_staff`,`username`);

--
-- Indexes for table `xf_user_alert`
--
ALTER TABLE `xf_user_alert`
ADD PRIMARY KEY (`alert_id`),
ADD KEY `alertedUserId_eventDate` (`alerted_user_id`,`event_date`),
ADD KEY `contentType_contentId` (`content_type`,`content_id`),
ADD KEY `viewDate_eventDate` (`view_date`,`event_date`),
ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `xf_user_alert_optout`
--
ALTER TABLE `xf_user_alert_optout`
ADD PRIMARY KEY (`user_id`,`alert`);

--
-- Indexes for table `xf_user_authenticate`
--
ALTER TABLE `xf_user_authenticate`
ADD PRIMARY KEY (`user_id`);

--
-- Indexes for table `xf_user_ban`
--
ALTER TABLE `xf_user_ban`
ADD PRIMARY KEY (`user_id`),
ADD KEY `ban_date` (`ban_date`),
ADD KEY `end_date` (`end_date`);

--
-- Indexes for table `xf_user_change_log`
--
ALTER TABLE `xf_user_change_log`
ADD PRIMARY KEY (`log_id`),
ADD KEY `user_id` (`user_id`),
ADD KEY `edit_date` (`edit_date`);

--
-- Indexes for table `xf_user_change_temp`
--
ALTER TABLE `xf_user_change_temp`
ADD PRIMARY KEY (`user_change_temp_id`),
ADD UNIQUE KEY `user_id` (`user_id`,`change_key`),
ADD KEY `change_key` (`change_key`),
ADD KEY `expiry_date` (`expiry_date`);

--
-- Indexes for table `xf_user_confirmation`
--
ALTER TABLE `xf_user_confirmation`
ADD PRIMARY KEY (`user_id`,`confirmation_type`),
ADD KEY `confirmation_date` (`confirmation_date`);

--
-- Indexes for table `xf_user_external_auth`
--
ALTER TABLE `xf_user_external_auth`
ADD PRIMARY KEY (`user_id`,`provider`),
ADD UNIQUE KEY `provider` (`provider`,`provider_key`);

--
-- Indexes for table `xf_user_field`
--
ALTER TABLE `xf_user_field`
ADD PRIMARY KEY (`field_id`),
ADD KEY `display_group_order` (`display_group`,`display_order`);

--
-- Indexes for table `xf_user_field_value`
--
ALTER TABLE `xf_user_field_value`
ADD PRIMARY KEY (`user_id`,`field_id`),
ADD KEY `field_id` (`field_id`);

--
-- Indexes for table `xf_user_follow`
--
ALTER TABLE `xf_user_follow`
ADD PRIMARY KEY (`user_id`,`follow_user_id`),
ADD KEY `follow_user_id` (`follow_user_id`);

--
-- Indexes for table `xf_user_group`
--
ALTER TABLE `xf_user_group`
ADD PRIMARY KEY (`user_group_id`),
ADD KEY `title` (`title`);

--
-- Indexes for table `xf_user_group_change`
--
ALTER TABLE `xf_user_group_change`
ADD PRIMARY KEY (`user_id`,`change_key`),
ADD KEY `change_key` (`change_key`);

--
-- Indexes for table `xf_user_group_promotion`
--
ALTER TABLE `xf_user_group_promotion`
ADD PRIMARY KEY (`promotion_id`),
ADD KEY `title` (`title`);

--
-- Indexes for table `xf_user_group_promotion_log`
--
ALTER TABLE `xf_user_group_promotion_log`
ADD PRIMARY KEY (`promotion_id`,`user_id`),
ADD KEY `promotion_date` (`promotion_date`),
ADD KEY `user_id_date` (`user_id`,`promotion_date`);

--
-- Indexes for table `xf_user_group_relation`
--
ALTER TABLE `xf_user_group_relation`
ADD PRIMARY KEY (`user_id`,`user_group_id`),
ADD KEY `user_group_id_is_primary` (`user_group_id`,`is_primary`);

--
-- Indexes for table `xf_user_ignored`
--
ALTER TABLE `xf_user_ignored`
ADD PRIMARY KEY (`user_id`,`ignored_user_id`),
ADD KEY `ignored_user_id` (`ignored_user_id`);

--
-- Indexes for table `xf_user_news_feed_cache`
--
ALTER TABLE `xf_user_news_feed_cache`
ADD PRIMARY KEY (`user_id`);

--
-- Indexes for table `xf_user_option`
--
ALTER TABLE `xf_user_option`
ADD PRIMARY KEY (`user_id`);

--
-- Indexes for table `xf_user_privacy`
--
ALTER TABLE `xf_user_privacy`
ADD PRIMARY KEY (`user_id`);

--
-- Indexes for table `xf_user_profile`
--
ALTER TABLE `xf_user_profile`
ADD PRIMARY KEY (`user_id`),
ADD KEY `dob` (`dob_month`,`dob_day`,`dob_year`);

--
-- Indexes for table `xf_user_status`
--
ALTER TABLE `xf_user_status`
ADD PRIMARY KEY (`profile_post_id`),
ADD KEY `post_date` (`post_date`);

--
-- Indexes for table `xf_user_tfa`
--
ALTER TABLE `xf_user_tfa`
ADD PRIMARY KEY (`user_tfa_id`),
ADD UNIQUE KEY `user_id` (`user_id`,`provider_id`);

--
-- Indexes for table `xf_user_tfa_trusted`
--
ALTER TABLE `xf_user_tfa_trusted`
ADD PRIMARY KEY (`tfa_trusted_id`),
ADD UNIQUE KEY `user_id` (`user_id`,`trusted_key`),
ADD KEY `trusted_until` (`trusted_until`);

--
-- Indexes for table `xf_user_title_ladder`
--
ALTER TABLE `xf_user_title_ladder`
ADD PRIMARY KEY (`minimum_level`);

--
-- Indexes for table `xf_user_trophy`
--
ALTER TABLE `xf_user_trophy`
ADD PRIMARY KEY (`trophy_id`,`user_id`),
ADD KEY `user_id_award_date` (`user_id`,`award_date`);

--
-- Indexes for table `xf_user_upgrade`
--
ALTER TABLE `xf_user_upgrade`
ADD PRIMARY KEY (`user_upgrade_id`),
ADD KEY `display_order` (`display_order`);

--
-- Indexes for table `xf_user_upgrade_active`
--
ALTER TABLE `xf_user_upgrade_active`
ADD PRIMARY KEY (`user_upgrade_record_id`),
ADD UNIQUE KEY `user_id_upgrade_id` (`user_id`,`user_upgrade_id`),
ADD KEY `end_date` (`end_date`),
ADD KEY `start_date` (`start_date`);

--
-- Indexes for table `xf_user_upgrade_expired`
--
ALTER TABLE `xf_user_upgrade_expired`
ADD PRIMARY KEY (`user_upgrade_record_id`),
ADD KEY `end_date` (`end_date`);

--
-- Indexes for table `xf_user_upgrade_log`
--
ALTER TABLE `xf_user_upgrade_log`
ADD PRIMARY KEY (`user_upgrade_log_id`),
ADD KEY `transaction_id` (`transaction_id`),
ADD KEY `subscriber_id` (`subscriber_id`),
ADD KEY `log_date` (`log_date`);

--
-- Indexes for table `xf_warning`
--
ALTER TABLE `xf_warning`
ADD PRIMARY KEY (`warning_id`),
ADD KEY `content_type_id` (`content_type`,`content_id`),
ADD KEY `user_id_date` (`user_id`,`warning_date`),
ADD KEY `expiry` (`expiry_date`);

--
-- Indexes for table `xf_warning_action`
--
ALTER TABLE `xf_warning_action`
ADD PRIMARY KEY (`warning_action_id`),
ADD KEY `points` (`points`);

--
-- Indexes for table `xf_warning_action_trigger`
--
ALTER TABLE `xf_warning_action_trigger`
ADD PRIMARY KEY (`action_trigger_id`),
ADD KEY `user_id_points` (`user_id`,`trigger_points`);

--
-- Indexes for table `xf_warning_definition`
--
ALTER TABLE `xf_warning_definition`
ADD PRIMARY KEY (`warning_definition_id`),
ADD KEY `points_default` (`points_default`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `xf_admin_log`
--
ALTER TABLE `xf_admin_log`
MODIFY `admin_log_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;
--
-- AUTO_INCREMENT for table `xf_admin_template`
--
ALTER TABLE `xf_admin_template`
MODIFY `template_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=467;
--
-- AUTO_INCREMENT for table `xf_admin_template_modification`
--
ALTER TABLE `xf_admin_template_modification`
MODIFY `modification_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_attachment`
--
ALTER TABLE `xf_attachment`
MODIFY `attachment_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_attachment_data`
--
ALTER TABLE `xf_attachment_data`
MODIFY `data_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_bb_code_parse_cache`
--
ALTER TABLE `xf_bb_code_parse_cache`
MODIFY `bb_code_parse_cache_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_captcha_question`
--
ALTER TABLE `xf_captcha_question`
MODIFY `captcha_question_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_code_event_listener`
--
ALTER TABLE `xf_code_event_listener`
MODIFY `event_listener_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_content_spam_cache`
--
ALTER TABLE `xf_content_spam_cache`
MODIFY `spam_cache_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_conversation_master`
--
ALTER TABLE `xf_conversation_master`
MODIFY `conversation_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_conversation_message`
--
ALTER TABLE `xf_conversation_message`
MODIFY `message_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_deferred`
--
ALTER TABLE `xf_deferred`
MODIFY `deferred_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=61;
--
-- AUTO_INCREMENT for table `xf_draft`
--
ALTER TABLE `xf_draft`
MODIFY `draft_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_edit_history`
--
ALTER TABLE `xf_edit_history`
MODIFY `edit_history_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_email_bounce_log`
--
ALTER TABLE `xf_email_bounce_log`
MODIFY `bounce_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_email_bounce_soft`
--
ALTER TABLE `xf_email_bounce_soft`
MODIFY `bounce_soft_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_email_template`
--
ALTER TABLE `xf_email_template`
MODIFY `template_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=26;
--
-- AUTO_INCREMENT for table `xf_email_template_modification`
--
ALTER TABLE `xf_email_template_modification`
MODIFY `modification_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_error_log`
--
ALTER TABLE `xf_error_log`
MODIFY `error_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_feed`
--
ALTER TABLE `xf_feed`
MODIFY `feed_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_forum_read`
--
ALTER TABLE `xf_forum_read`
MODIFY `forum_read_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
--
-- AUTO_INCREMENT for table `xf_help_page`
--
ALTER TABLE `xf_help_page`
MODIFY `page_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_image_proxy`
--
ALTER TABLE `xf_image_proxy`
MODIFY `image_id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_image_proxy_referrer`
--
ALTER TABLE `xf_image_proxy_referrer`
MODIFY `referrer_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_ip`
--
ALTER TABLE `xf_ip`
MODIFY `ip_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
--
-- AUTO_INCREMENT for table `xf_language`
--
ALTER TABLE `xf_language`
MODIFY `language_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
--
-- AUTO_INCREMENT for table `xf_liked_content`
--
ALTER TABLE `xf_liked_content`
MODIFY `like_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_link_proxy`
--
ALTER TABLE `xf_link_proxy`
MODIFY `link_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_link_proxy_referrer`
--
ALTER TABLE `xf_link_proxy_referrer`
MODIFY `referrer_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_login_attempt`
--
ALTER TABLE `xf_login_attempt`
MODIFY `attempt_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_mail_queue`
--
ALTER TABLE `xf_mail_queue`
MODIFY `mail_queue_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_moderator_content`
--
ALTER TABLE `xf_moderator_content`
MODIFY `moderator_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_moderator_log`
--
ALTER TABLE `xf_moderator_log`
MODIFY `moderator_log_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_news_feed`
--
ALTER TABLE `xf_news_feed`
MODIFY `news_feed_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
--
-- AUTO_INCREMENT for table `xf_node`
--
ALTER TABLE `xf_node`
MODIFY `node_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
--
-- AUTO_INCREMENT for table `xf_notice`
--
ALTER TABLE `xf_notice`
MODIFY `notice_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_permission_combination`
--
ALTER TABLE `xf_permission_combination`
MODIFY `permission_combination_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
--
-- AUTO_INCREMENT for table `xf_permission_entry`
--
ALTER TABLE `xf_permission_entry`
MODIFY `permission_entry_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=114;
--
-- AUTO_INCREMENT for table `xf_permission_entry_content`
--
ALTER TABLE `xf_permission_entry_content`
MODIFY `permission_entry_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_phrase`
--
ALTER TABLE `xf_phrase`
MODIFY `phrase_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11137;
--
-- AUTO_INCREMENT for table `xf_phrase_map`
--
ALTER TABLE `xf_phrase_map`
MODIFY `phrase_map_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=17146;
--
-- AUTO_INCREMENT for table `xf_poll`
--
ALTER TABLE `xf_poll`
MODIFY `poll_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_poll_response`
--
ALTER TABLE `xf_poll_response`
MODIFY `poll_response_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_post`
--
ALTER TABLE `xf_post`
MODIFY `post_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
--
-- AUTO_INCREMENT for table `xf_profile_post`
--
ALTER TABLE `xf_profile_post`
MODIFY `profile_post_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_profile_post_comment`
--
ALTER TABLE `xf_profile_post_comment`
MODIFY `profile_post_comment_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_report`
--
ALTER TABLE `xf_report`
MODIFY `report_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_report_comment`
--
ALTER TABLE `xf_report_comment`
MODIFY `report_comment_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_route_filter`
--
ALTER TABLE `xf_route_filter`
MODIFY `route_filter_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_search`
--
ALTER TABLE `xf_search`
MODIFY `search_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_smilie`
--
ALTER TABLE `xf_smilie`
MODIFY `smilie_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;
--
-- AUTO_INCREMENT for table `xf_smilie_category`
--
ALTER TABLE `xf_smilie_category`
MODIFY `smilie_category_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_spam_cleaner_log`
--
ALTER TABLE `xf_spam_cleaner_log`
MODIFY `spam_cleaner_log_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_spam_trigger_log`
--
ALTER TABLE `xf_spam_trigger_log`
MODIFY `trigger_log_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_style`
--
ALTER TABLE `xf_style`
MODIFY `style_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
--
-- AUTO_INCREMENT for table `xf_style_property`
--
ALTER TABLE `xf_style_property`
MODIFY `property_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=342;
--
-- AUTO_INCREMENT for table `xf_style_property_definition`
--
ALTER TABLE `xf_style_property_definition`
MODIFY `property_definition_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=341;
--
-- AUTO_INCREMENT for table `xf_style_property_group`
--
ALTER TABLE `xf_style_property_group`
MODIFY `property_group_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=27;
--
-- AUTO_INCREMENT for table `xf_tag`
--
ALTER TABLE `xf_tag`
MODIFY `tag_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_tag_content`
--
ALTER TABLE `xf_tag_content`
MODIFY `tag_content_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_tag_result_cache`
--
ALTER TABLE `xf_tag_result_cache`
MODIFY `result_cache_id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_template`
--
ALTER TABLE `xf_template`
MODIFY `template_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=520;
--
-- AUTO_INCREMENT for table `xf_template_history`
--
ALTER TABLE `xf_template_history`
MODIFY `template_history_id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_template_map`
--
ALTER TABLE `xf_template_map`
MODIFY `template_map_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1039;
--
-- AUTO_INCREMENT for table `xf_template_modification`
--
ALTER TABLE `xf_template_modification`
MODIFY `modification_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_tfa_attempt`
--
ALTER TABLE `xf_tfa_attempt`
MODIFY `attempt_id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_thread`
--
ALTER TABLE `xf_thread`
MODIFY `thread_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
--
-- AUTO_INCREMENT for table `xf_thread_prefix`
--
ALTER TABLE `xf_thread_prefix`
MODIFY `prefix_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_thread_prefix_group`
--
ALTER TABLE `xf_thread_prefix_group`
MODIFY `prefix_group_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_thread_read`
--
ALTER TABLE `xf_thread_read`
MODIFY `thread_read_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
--
-- AUTO_INCREMENT for table `xf_thread_reply_ban`
--
ALTER TABLE `xf_thread_reply_ban`
MODIFY `thread_reply_ban_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_trophy`
--
ALTER TABLE `xf_trophy`
MODIFY `trophy_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10;
--
-- AUTO_INCREMENT for table `xf_user`
--
ALTER TABLE `xf_user`
MODIFY `user_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
--
-- AUTO_INCREMENT for table `xf_user_alert`
--
ALTER TABLE `xf_user_alert`
MODIFY `alert_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
--
-- AUTO_INCREMENT for table `xf_user_change_log`
--
ALTER TABLE `xf_user_change_log`
MODIFY `log_id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
--
-- AUTO_INCREMENT for table `xf_user_change_temp`
--
ALTER TABLE `xf_user_change_temp`
MODIFY `user_change_temp_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_user_group`
--
ALTER TABLE `xf_user_group`
MODIFY `user_group_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
--
-- AUTO_INCREMENT for table `xf_user_group_promotion`
--
ALTER TABLE `xf_user_group_promotion`
MODIFY `promotion_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_user_tfa`
--
ALTER TABLE `xf_user_tfa`
MODIFY `user_tfa_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_user_tfa_trusted`
--
ALTER TABLE `xf_user_tfa_trusted`
MODIFY `tfa_trusted_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_user_upgrade`
--
ALTER TABLE `xf_user_upgrade`
MODIFY `user_upgrade_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_user_upgrade_active`
--
ALTER TABLE `xf_user_upgrade_active`
MODIFY `user_upgrade_record_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_user_upgrade_log`
--
ALTER TABLE `xf_user_upgrade_log`
MODIFY `user_upgrade_log_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_warning`
--
ALTER TABLE `xf_warning`
MODIFY `warning_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_warning_action`
--
ALTER TABLE `xf_warning_action`
MODIFY `warning_action_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_warning_action_trigger`
--
ALTER TABLE `xf_warning_action_trigger`
MODIFY `action_trigger_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `xf_warning_definition`
--
ALTER TABLE `xf_warning_definition`
MODIFY `warning_definition_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
لزراعه الجدول يجب عدم نسخ كلمه

Table structure for tableانسخ مابعدها

مثال

CREATE TABLE `xf_addon` (
`addon_id` varbinary(25) NOT NULL,
`title` varchar(75) NOT NULL,
`version_string` varchar(30) NOT NULL DEFAULT '',
`version_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
`url` varchar(100) NOT NULL,
`install_callback_class` varchar(75) NOT NULL DEFAULT '',
`install_callback_method` varchar(75) NOT NULL DEFAULT '',
`uninstall_callback_class` varchar(75) NOT NULL DEFAULT '',
`uninstall_callback_method` varchar(75) NOT NULL DEFAULT '',
`active` tinyint(3) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

شرح تنفيذ أمر زراعه
طريقة زرع امر في قاعدة البيانات شرح بالصور (http://www.helpernt.com/vb/showthread.php?t=4638)

الشرح منقول من ترايدنت