| 1 | CREATE TABLE mt_author ( |
|---|
| 2 | author_id INTEGER SERIAL PRIMARY KEY, |
|---|
| 3 | author_name VARCHAR(50) NOT NULL, |
|---|
| 4 | author_type TINYINT NOT NULL, |
|---|
| 5 | author_nickname VARCHAR(50), |
|---|
| 6 | author_password VARCHAR(60) NOT NULL, |
|---|
| 7 | author_email VARCHAR(75) NOT NULL, |
|---|
| 8 | author_url VARCHAR(255), |
|---|
| 9 | author_can_create_blog TINYINT, |
|---|
| 10 | author_can_view_log TINYINT, |
|---|
| 11 | author_hint VARCHAR(75), |
|---|
| 12 | author_created_by INTEGER, |
|---|
| 13 | author_public_key TEXT, |
|---|
| 14 | author_preferred_language VARCHAR(50), |
|---|
| 15 | author_remote_auth_username VARCHAR(50), |
|---|
| 16 | author_remote_auth_token VARCHAR(50) |
|---|
| 17 | ); |
|---|
| 18 | CREATE UNIQUE INDEX mt_author_name_type ON mt_author (author_name, author_type); |
|---|
| 19 | CREATE INDEX mt_author_email ON mt_author (author_email); |
|---|
| 20 | |
|---|
| 21 | CREATE TABLE mt_blog ( |
|---|
| 22 | blog_id INTEGER SERIAL PRIMARY KEY, |
|---|
| 23 | blog_name VARCHAR(255) NOT NULL, |
|---|
| 24 | blog_description TEXT, |
|---|
| 25 | blog_site_path VARCHAR(255), |
|---|
| 26 | blog_site_url VARCHAR(255), |
|---|
| 27 | blog_archive_path VARCHAR(255), |
|---|
| 28 | blog_archive_url VARCHAR(255), |
|---|
| 29 | blog_archive_type VARCHAR(255), |
|---|
| 30 | blog_archive_type_preferred VARCHAR(25), |
|---|
| 31 | blog_days_on_index SMALLINT, |
|---|
| 32 | blog_language VARCHAR(5), |
|---|
| 33 | blog_file_extension VARCHAR(10), |
|---|
| 34 | blog_email_new_comments TINYINT, |
|---|
| 35 | blog_email_new_pings TINYINT, |
|---|
| 36 | blog_allow_comment_html TINYINT, |
|---|
| 37 | blog_autolink_urls TINYINT, |
|---|
| 38 | blog_sort_order_posts VARCHAR(8), |
|---|
| 39 | blog_sort_order_comments VARCHAR(8), |
|---|
| 40 | blog_allow_comments_default TINYINT, |
|---|
| 41 | blog_allow_pings_default TINYINT, |
|---|
| 42 | blog_server_offset FLOAT, |
|---|
| 43 | blog_convert_paras VARCHAR(30), |
|---|
| 44 | blog_convert_paras_comments VARCHAR(30), |
|---|
| 45 | blog_status_default TINYINT, |
|---|
| 46 | blog_allow_anon_comments TINYINT, |
|---|
| 47 | blog_allow_reg_comments TINYINT, |
|---|
| 48 | blog_allow_unreg_comments TINYINT, |
|---|
| 49 | blog_moderate_unreg_comments TINYINT, |
|---|
| 50 | blog_require_comment_emails TINYINT, |
|---|
| 51 | blog_manual_approve_commenters TINYINT, |
|---|
| 52 | blog_words_in_excerpt SMALLINT, |
|---|
| 53 | blog_ping_technorati TINYINT, |
|---|
| 54 | blog_ping_weblogs TINYINT, |
|---|
| 55 | blog_ping_blogs TINYINT, |
|---|
| 56 | blog_ping_others TEXT, |
|---|
| 57 | blog_mt_update_key VARCHAR(30), |
|---|
| 58 | blog_autodiscover_links TINYINT, |
|---|
| 59 | blog_welcome_msg TEXT, |
|---|
| 60 | blog_old_style_archive_links TINYINT, |
|---|
| 61 | blog_archive_tmpl_monthly VARCHAR(255), |
|---|
| 62 | blog_archive_tmpl_weekly VARCHAR(255), |
|---|
| 63 | blog_archive_tmpl_daily VARCHAR(255), |
|---|
| 64 | blog_archive_tmpl_individual VARCHAR(255), |
|---|
| 65 | blog_archive_tmpl_category VARCHAR(255), |
|---|
| 66 | blog_google_api_key VARCHAR(32), |
|---|
| 67 | blog_sanitize_spec VARCHAR(255), |
|---|
| 68 | blog_cc_license VARCHAR(255), |
|---|
| 69 | blog_is_dynamic TINYINT, |
|---|
| 70 | blog_remote_auth_token VARCHAR(50), |
|---|
| 71 | blog_children_modified_on TIMESTAMP, |
|---|
| 72 | blog_custom_dynamic_templates VARCHAR(25) |
|---|
| 73 | ); |
|---|
| 74 | CREATE INDEX mt_blog_name ON mt_blog (blog_name); |
|---|
| 75 | |
|---|
| 76 | CREATE TABLE mt_category ( |
|---|
| 77 | category_id INTEGER SERIAL PRIMARY KEY, |
|---|
| 78 | category_blog_id INTEGER NOT NULL, |
|---|
| 79 | category_allow_pings TINYINT, |
|---|
| 80 | category_label VARCHAR(100) NOT NULL, |
|---|
| 81 | category_description TEXT, |
|---|
| 82 | category_author_id INTEGER, |
|---|
| 83 | category_ping_urls TEXT, |
|---|
| 84 | category_parent INTEGER |
|---|
| 85 | ); |
|---|
| 86 | --CREATE UNIQUE INDEX mt_category_blog_label ON mt_category (category_blog_id, category_label); |
|---|
| 87 | |
|---|
| 88 | CREATE TABLE mt_comment ( |
|---|
| 89 | comment_id INTEGER SERIAL PRIMARY KEY, |
|---|
| 90 | comment_blog_id INTEGER NOT NULL, |
|---|
| 91 | comment_entry_id INTEGER NOT NULL, |
|---|
| 92 | comment_ip VARCHAR(16), |
|---|
| 93 | comment_author VARCHAR(100), |
|---|
| 94 | comment_email VARCHAR(75), |
|---|
| 95 | comment_url VARCHAR(255), |
|---|
| 96 | comment_commenter_id INTEGER, |
|---|
| 97 | comment_visible TINYINT, |
|---|
| 98 | commenter_is_junk TINYINT NOT NULL, |
|---|
| 99 | comment_last_moved_on TIMESTAMP NOT NULL, |
|---|
| 100 | comment_junk_score FLOAT, |
|---|
| 101 | comment_junk_log TEXT, |
|---|
| 102 | comment_text TEXT, |
|---|
| 103 | comment_created_on TIMESTAMP NOT NULL, |
|---|
| 104 | comment_modified_on TIMESTAMP NOT NULL, |
|---|
| 105 | comment_created_by INTEGER, |
|---|
| 106 | comment_modified_by INTEGER |
|---|
| 107 | ); |
|---|
| 108 | CREATE INDEX mt_comment_ip ON mt_comment (comment_ip); |
|---|
| 109 | CREATE INDEX mt_comment_created_on ON mt_comment (comment_created_on); |
|---|
| 110 | CREATE INDEX mt_comment_entry_id ON mt_comment (comment_entry_id); |
|---|
| 111 | CREATE INDEX mt_comment_blog_id ON mt_comment (comment_blog_id); |
|---|
| 112 | CREATE INDEX mt_comment_commenter_id ON mt_comment (comment_commenter_id); |
|---|
| 113 | CREATE INDEX mt_comment_visible ON mt_comment (comment_visible); |
|---|
| 114 | CREATE INDEX mt_comment_is_junk ON mt_comment (comment_is_junk); |
|---|
| 115 | CREATE INDEX mt_comment_last_moved_on ON mt_comment (comment_last_moved_on); |
|---|
| 116 | CREATE INDEX mt_comment_junk_score ON mt_comment (comment_junk_score); |
|---|
| 117 | |
|---|
| 118 | CREATE TABLE mt_entry ( |
|---|
| 119 | entry_id INTEGER SERIAL PRIMARY KEY, |
|---|
| 120 | entry_blog_id INTEGER NOT NULL, |
|---|
| 121 | entry_status TINYINT NOT NULL, |
|---|
| 122 | entry_author_id INTEGER NOT NULL, |
|---|
| 123 | entry_allow_comments TINYINT, |
|---|
| 124 | entry_allow_pings TINYINT, |
|---|
| 125 | entry_convert_breaks VARCHAR(30), |
|---|
| 126 | entry_category_id INTEGER, |
|---|
| 127 | entry_title VARCHAR(255), |
|---|
| 128 | entry_excerpt TEXT, |
|---|
| 129 | entry_text TEXT, |
|---|
| 130 | entry_text_more TEXT, |
|---|
| 131 | entry_to_ping_urls TEXT, |
|---|
| 132 | entry_pinged_urls TEXT, |
|---|
| 133 | entry_keywords TEXT, |
|---|
| 134 | entry_tangent_cache TEXT, |
|---|
| 135 | entry_created_on TIMESTAMP NOT NULL, |
|---|
| 136 | entry_modified_on TIMESTAMP NOT NULL, |
|---|
| 137 | entry_created_by INTEGER, |
|---|
| 138 | entry_modified_by INTEGER, |
|---|
| 139 | entry_basename VARCHAR(50) NOT NULL |
|---|
| 140 | ); |
|---|
| 141 | CREATE INDEX mt_entry_blog_id ON mt_entry (entry_blog_id); |
|---|
| 142 | CREATE INDEX mt_entry_status ON mt_entry (entry_status); |
|---|
| 143 | CREATE INDEX mt_entry_author_id ON mt_entry (entry_author_id); |
|---|
| 144 | CREATE INDEX mt_entry_created_on ON mt_entry (entry_created_on); |
|---|
| 145 | CREATE INDEX mt_entry_basename ON mt_entry (entry_basename); |
|---|
| 146 | |
|---|
| 147 | CREATE TABLE mt_ipbanlist ( |
|---|
| 148 | ipbanlist_id INTEGER SERIAL PRIMARY KEY, |
|---|
| 149 | ipbanlist_blog_id INTEGER NOT NULL, |
|---|
| 150 | ipbanlist_ip VARCHAR(15) NOT NULL, |
|---|
| 151 | ipbanlist_created_on TIMESTAMP NOT NULL, |
|---|
| 152 | ipbanlist_modified_on TIMESTAMP NOT NULL, |
|---|
| 153 | ipbanlist_created_by INTEGER, |
|---|
| 154 | ipbanlist_modified_by INTEGER |
|---|
| 155 | ); |
|---|
| 156 | CREATE INDEX mt_ipbanlist_blog_id ON mt_ipbanlist (ipbanlist_blog_id); |
|---|
| 157 | CREATE INDEX mt_ipbanlist_ip ON mt_ipbanlist (ipbanlist_ip); |
|---|
| 158 | |
|---|
| 159 | CREATE TABLE mt_log ( |
|---|
| 160 | log_id INTEGER SERIAL PRIMARY KEY, |
|---|
| 161 | log_message VARCHAR(255), |
|---|
| 162 | log_ip VARCHAR(16), |
|---|
| 163 | log_created_on TIMESTAMP NOT NULL, |
|---|
| 164 | log_modified_on TIMESTAMP NOT NULL, |
|---|
| 165 | log_created_by INTEGER, |
|---|
| 166 | log_modified_by INTEGER, |
|---|
| 167 | ); |
|---|
| 168 | CREATE INDEX mt_log_created_on ON mt_log (log_created_on); |
|---|
| 169 | |
|---|
| 170 | CREATE TABLE mt_notification ( |
|---|
| 171 | notification_id INTEGER SERIAL PRIMARY KEY, |
|---|
| 172 | notification_blog_id INTEGER NOT NULL, |
|---|
| 173 | notification_name VARCHAR(50), |
|---|
| 174 | notification_email VARCHAR(75), |
|---|
| 175 | notification_url VARCHAR(255), |
|---|
| 176 | notification_created_on TIMESTAMP NOT NULL, |
|---|
| 177 | notification_modified_on TIMESTAMP NOT NULL, |
|---|
| 178 | notification_created_by INTEGER, |
|---|
| 179 | notification_modified_by INTEGER, |
|---|
| 180 | ); |
|---|
| 181 | CREATE INDEX mt_notification_blog_id ON mt_notification (notification_blog_id); |
|---|
| 182 | |
|---|
| 183 | CREATE TABLE mt_permission ( |
|---|
| 184 | permission_id INTEGER SERIAL PRIMARY KEY, |
|---|
| 185 | permission_author_id INTEGER NOT NULL, |
|---|
| 186 | permission_blog_id INTEGER NOT NULL, |
|---|
| 187 | permission_role_mask SMALLINT, |
|---|
| 188 | permission_entry_prefs VARCHAR(255) |
|---|
| 189 | ); |
|---|
| 190 | CREATE UNIQUE INDEX mt_permission_blog_author ON mt_permission (permission_blog_id, permission_author_id); |
|---|
| 191 | |
|---|
| 192 | CREATE TABLE mt_placement ( |
|---|
| 193 | placement_id INTEGER SERIAL PRIMARY KEY, |
|---|
| 194 | placement_entry_id INTEGER NOT NULL, |
|---|
| 195 | placement_blog_id INTEGER NOT NULL, |
|---|
| 196 | placement_category_id INTEGER NOT NULL, |
|---|
| 197 | placement_is_primary TINYINT NOT NULL |
|---|
| 198 | ); |
|---|
| 199 | CREATE INDEX mt_placement_entry_id ON mt_placement (placement_entry_id); |
|---|
| 200 | CREATE INDEX mt_placement_category_id ON mt_placement (placement_category_id); |
|---|
| 201 | CREATE INDEX mt_placement_is_primary ON mt_placement (placement_is_primary); |
|---|
| 202 | |
|---|
| 203 | CREATE TABLE mt_plugindata ( |
|---|
| 204 | plugindata_id INTEGER SERIAL PRIMARY KEY, |
|---|
| 205 | plugindata_plugin VARCHAR(50) NOT NULL, |
|---|
| 206 | plugindata_key VARCHAR(255) NOT NULL, |
|---|
| 207 | plugindata_data BLOB |
|---|
| 208 | ); |
|---|
| 209 | CREATE INDEX mt_plugindata_plugin ON mt_plugindata (plugindata_plugin); |
|---|
| 210 | CREATE INDEX mt_plugindata_key ON mt_plugindata (plugindata_key); |
|---|
| 211 | |
|---|
| 212 | CREATE TABLE mt_template ( |
|---|
| 213 | template_id INTEGER SERIAL PRIMARY KEY, |
|---|
| 214 | template_blog_id INTEGER NOT NULL, |
|---|
| 215 | template_name VARCHAR(50) NOT NULL, |
|---|
| 216 | template_type VARCHAR(25) NOT NULL, |
|---|
| 217 | template_outfile VARCHAR(255), |
|---|
| 218 | template_rebuild_me TINYINT default 1, |
|---|
| 219 | template_text TEXT, |
|---|
| 220 | template_linked_file VARCHAR(255), |
|---|
| 221 | template_linked_file_mtime VARCHAR(10), |
|---|
| 222 | template_linked_file_size MEDIUMINT, |
|---|
| 223 | template_created_on TIMESTAMP NOT NULL, |
|---|
| 224 | template_modified_on TIMESTAMP NOT NULL, |
|---|
| 225 | template_created_by INTEGER, |
|---|
| 226 | template_modified_by INTEGER, |
|---|
| 227 | template_build_dynamic TINYINT |
|---|
| 228 | ); |
|---|
| 229 | CREATE UNIQUE INDEX mt_template_blog_name ON mt_template (template_blog_id, template_name); |
|---|
| 230 | CREATE INDEX mt_template_type ON mt_template (template_type); |
|---|
| 231 | |
|---|
| 232 | CREATE TABLE mt_templatemap ( |
|---|
| 233 | templatemap_id INTEGER SERIAL PRIMARY KEY, |
|---|
| 234 | templatemap_blog_id INTEGER NOT NULL, |
|---|
| 235 | templatemap_template_id INTEGER NOT NULL, |
|---|
| 236 | templatemap_archive_type VARCHAR(25) NOT NULL, |
|---|
| 237 | templatemap_file_template VARCHAR(255), |
|---|
| 238 | templatemap_is_preferred TINYINT NOT NULL |
|---|
| 239 | ); |
|---|
| 240 | CREATE INDEX mt_templatemap_blog_id ON mt_templatemap (templatemap_blog_id); |
|---|
| 241 | CREATE INDEX mt_templatemap_template_id ON mt_templatemap (templatemap_template_id); |
|---|
| 242 | CREATE INDEX mt_templatemap_archive_type ON mt_templatemap (templatemap_archive_type); |
|---|
| 243 | CREATE INDEX mt_templatemap_is_preferred ON mt_templatemap (templatemap_is_preferred); |
|---|
| 244 | |
|---|
| 245 | CREATE TABLE mt_trackback ( |
|---|
| 246 | trackback_id INTEGER SERIAL PRIMARY KEY, |
|---|
| 247 | trackback_blog_id INTEGER NOT NULL, |
|---|
| 248 | trackback_title VARCHAR(255), |
|---|
| 249 | trackback_description TEXT, |
|---|
| 250 | trackback_rss_file VARCHAR(255), |
|---|
| 251 | trackback_url VARCHAR(255), |
|---|
| 252 | trackback_entry_id INTEGER NOT NULL, |
|---|
| 253 | trackback_category_id INTEGER NOT NULL, |
|---|
| 254 | trackback_passphrase VARCHAR(30), |
|---|
| 255 | trackback_is_disabled TINYINT default 0, |
|---|
| 256 | trackback_created_on TIMESTAMP NOT NULL, |
|---|
| 257 | trackback_modified_on TIMESTAMP NOT NULL, |
|---|
| 258 | trackback_created_by INTEGER, |
|---|
| 259 | trackback_modified_by INTEGER |
|---|
| 260 | ); |
|---|
| 261 | CREATE INDEX mt_trackback_blog_id ON mt_trackback (trackback_blog_id); |
|---|
| 262 | CREATE INDEX mt_trackback_entry_id ON mt_trackback (trackback_entry_id); |
|---|
| 263 | CREATE INDEX mt_trackback_category_id ON mt_trackback (trackback_category_id); |
|---|
| 264 | CREATE INDEX mt_trackback_created_on ON mt_trackback (trackback_created_on); |
|---|
| 265 | |
|---|
| 266 | CREATE TABLE mt_tbping ( |
|---|
| 267 | tbping_id INTEGER SERIAL PRIMARY KEY, |
|---|
| 268 | tbping_blog_id INTEGER NOT NULL, |
|---|
| 269 | tbping_tb_id INTEGER NOT NULL, |
|---|
| 270 | tbping_title VARCHAR(255), |
|---|
| 271 | tbping_excerpt TEXT, |
|---|
| 272 | tbping_source_url VARCHAR(255), |
|---|
| 273 | tbping_ip VARCHAR(15) NOT NULL, |
|---|
| 274 | tbping_blog_name VARCHAR(255), |
|---|
| 275 | tbping_visible TINYINT, |
|---|
| 276 | tbping_is_junk TINYINT NOT NULL, |
|---|
| 277 | tbping_junk_score FLOAT, |
|---|
| 278 | tbping_junk_log TEXT, |
|---|
| 279 | tbping_last_moved_on TIMESTAMP NOT NULL, |
|---|
| 280 | tbping_created_on TIMESTAMP NOT NULL, |
|---|
| 281 | tbping_modified_on TIMESTAMP NOT NULL, |
|---|
| 282 | tbping_created_by INTEGER, |
|---|
| 283 | tbping_modified_by INTEGER |
|---|
| 284 | ); |
|---|
| 285 | CREATE INDEX mt_tbping_blog_id ON mt_tbping (tbping_blog_id); |
|---|
| 286 | CREATE INDEX mt_tbping_tb_id ON mt_tbping (tbping_tb_id); |
|---|
| 287 | CREATE INDEX mt_tbping_ip ON mt_tbping (tbping_ip); |
|---|
| 288 | CREATE INDEX mt_tbping_created_on ON mt_tbping (tbping_created_on); |
|---|
| 289 | CREATE INDEX mt_tbping_last_moved_on ON mt_tbping (tbping_last_moved_on); |
|---|
| 290 | CREATE INDEX mt_tbping_is_junk ON mt_tbping (tbping_is_junk); |
|---|
| 291 | CREATE INDEX mt_tbping_visible ON mt_tbping (tbping_visible); |
|---|
| 292 | CREATE INDEX mt_tbping_junk_score ON mt_tbping (tbping_junk_score); |
|---|
| 293 | |
|---|
| 294 | CREATE TABLE mt_session ( |
|---|
| 295 | session_id VARCHAR(80) PRIMARY KEY, |
|---|
| 296 | session_data TEXT, |
|---|
| 297 | session_email VARCHAR(255), |
|---|
| 298 | session_name VARCHAR(255), |
|---|
| 299 | session_start int NOT NULL, |
|---|
| 300 | session_kind VARCHAR(2) |
|---|
| 301 | ); |
|---|
| 302 | CREATE INDEX mt_session_start ON mt_session (session_start); |
|---|
| 303 | |
|---|
| 304 | CREATE TABLE mt_fileinfo ( |
|---|
| 305 | fileinfo_id INTEGER PRIMARY KEY SERIAL, |
|---|
| 306 | fileinfo_blog_id INTEGER NOT NULL, |
|---|
| 307 | fileinfo_entry_id INTEGER, |
|---|
| 308 | fileinfo_url VARCHAR(255), |
|---|
| 309 | fileinfo_file_path TEXT, |
|---|
| 310 | fileinfo_template_id INTEGER, |
|---|
| 311 | fileinfo_templatemap_id INTEGER, |
|---|
| 312 | fileinfo_archive_type VARCHAR(255), |
|---|
| 313 | fileinfo_category_id INTEGER, |
|---|
| 314 | fileinfo_startdate VARCHAR(80), |
|---|
| 315 | fileinfo_virtual TINYINT |
|---|
| 316 | ); |
|---|
| 317 | CREATE INDEX mt_fileinfo_blog_id ON mt_fileinfo (fileinfo_blog_id); |
|---|
| 318 | CREATE INDEX mt_fileinfo_entry_id ON mt_fileinfo (fileinfo_entry_id); |
|---|
| 319 | CREATE INDEX mt_fileinfo_url ON mt_fileinfo (fileinfo_url); |
|---|
| 320 | |
|---|