root/trunk/schemas/mt.sql

Revision 4196, 11.8 kB (checked in by takayama, 3 months ago)

* Set svn keywords

  • Property svn:keywords set to Author Date Id Revision
Line 
1CREATE 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);
18CREATE UNIQUE INDEX mt_author_name_type ON mt_author (author_name, author_type);
19CREATE INDEX mt_author_email ON mt_author (author_email);
20
21CREATE 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);
74CREATE INDEX mt_blog_name ON mt_blog (blog_name);
75
76CREATE 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
88CREATE 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);
108CREATE INDEX mt_comment_ip ON mt_comment (comment_ip);
109CREATE INDEX mt_comment_created_on ON mt_comment (comment_created_on);
110CREATE INDEX mt_comment_entry_id ON mt_comment (comment_entry_id);
111CREATE INDEX mt_comment_blog_id ON mt_comment (comment_blog_id);
112CREATE INDEX mt_comment_commenter_id ON mt_comment (comment_commenter_id);
113CREATE INDEX mt_comment_visible ON mt_comment (comment_visible);
114CREATE INDEX mt_comment_is_junk ON mt_comment (comment_is_junk);
115CREATE INDEX mt_comment_last_moved_on ON mt_comment (comment_last_moved_on);
116CREATE INDEX mt_comment_junk_score ON mt_comment (comment_junk_score);
117
118CREATE 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);
141CREATE INDEX mt_entry_blog_id ON mt_entry (entry_blog_id);
142CREATE INDEX mt_entry_status ON mt_entry (entry_status);
143CREATE INDEX mt_entry_author_id ON mt_entry (entry_author_id);
144CREATE INDEX mt_entry_created_on ON mt_entry (entry_created_on);
145CREATE INDEX mt_entry_basename ON mt_entry (entry_basename);
146
147CREATE 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);
156CREATE INDEX mt_ipbanlist_blog_id ON mt_ipbanlist (ipbanlist_blog_id);
157CREATE INDEX mt_ipbanlist_ip ON mt_ipbanlist (ipbanlist_ip);
158
159CREATE 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);
168CREATE INDEX mt_log_created_on ON mt_log (log_created_on);
169
170CREATE 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);
181CREATE INDEX mt_notification_blog_id ON mt_notification (notification_blog_id);
182
183CREATE 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);
190CREATE UNIQUE INDEX mt_permission_blog_author ON mt_permission (permission_blog_id, permission_author_id);
191
192CREATE 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);
199CREATE INDEX mt_placement_entry_id ON mt_placement (placement_entry_id);
200CREATE INDEX mt_placement_category_id ON mt_placement (placement_category_id);
201CREATE INDEX mt_placement_is_primary ON mt_placement (placement_is_primary);
202
203CREATE 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);
209CREATE INDEX mt_plugindata_plugin ON mt_plugindata (plugindata_plugin);
210CREATE INDEX mt_plugindata_key ON mt_plugindata (plugindata_key);
211
212CREATE 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);
229CREATE UNIQUE INDEX mt_template_blog_name ON mt_template (template_blog_id, template_name);
230CREATE INDEX mt_template_type ON mt_template (template_type);
231
232CREATE 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);
240CREATE INDEX mt_templatemap_blog_id ON mt_templatemap (templatemap_blog_id);
241CREATE INDEX mt_templatemap_template_id ON mt_templatemap (templatemap_template_id);
242CREATE INDEX mt_templatemap_archive_type ON mt_templatemap (templatemap_archive_type);
243CREATE INDEX mt_templatemap_is_preferred ON mt_templatemap (templatemap_is_preferred);
244
245CREATE 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);
261CREATE INDEX mt_trackback_blog_id ON mt_trackback (trackback_blog_id);
262CREATE INDEX mt_trackback_entry_id ON mt_trackback (trackback_entry_id);
263CREATE INDEX mt_trackback_category_id ON mt_trackback (trackback_category_id);
264CREATE INDEX mt_trackback_created_on ON mt_trackback (trackback_created_on);
265
266CREATE 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);
285CREATE INDEX mt_tbping_blog_id ON mt_tbping (tbping_blog_id);
286CREATE INDEX mt_tbping_tb_id ON mt_tbping (tbping_tb_id);
287CREATE INDEX mt_tbping_ip ON mt_tbping (tbping_ip);
288CREATE INDEX mt_tbping_created_on ON mt_tbping (tbping_created_on);
289CREATE INDEX mt_tbping_last_moved_on ON mt_tbping (tbping_last_moved_on);
290CREATE INDEX mt_tbping_is_junk ON mt_tbping (tbping_is_junk);
291CREATE INDEX mt_tbping_visible ON mt_tbping (tbping_visible);
292CREATE INDEX mt_tbping_junk_score ON mt_tbping (tbping_junk_score);
293
294CREATE 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);
302CREATE INDEX mt_session_start ON mt_session (session_start);
303
304CREATE 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);
317CREATE INDEX mt_fileinfo_blog_id ON mt_fileinfo (fileinfo_blog_id);
318CREATE INDEX mt_fileinfo_entry_id ON mt_fileinfo (fileinfo_entry_id);
319CREATE INDEX mt_fileinfo_url ON mt_fileinfo (fileinfo_url);
320
Note: See TracBrowser for help on using the browser.