321 lines
9.7 KiB
SQL
321 lines
9.7 KiB
SQL
####
|
|
#### Important notes:
|
|
#### If you make modifications (additions, subtractions), please
|
|
#### make the appropriate change in the db_update files. If you don't
|
|
#### know the syntax for a different database, e-mail the list for
|
|
#### help.
|
|
####
|
|
####
|
|
|
|
#
|
|
# Table structure for table '{PREFIX}authors'
|
|
#
|
|
|
|
create table {PREFIX}authors (
|
|
realname varchar(255) NOT NULL default '',
|
|
username varchar(32) default null,
|
|
password varchar(64) default null,
|
|
authorid {AUTOINCREMENT} {PRIMARY},
|
|
mail_comments int(1) default '1',
|
|
mail_trackbacks int(1) default '1',
|
|
email varchar(128) not null default '',
|
|
userlevel int(4) {UNSIGNED} not null default '0',
|
|
right_publish int(1) default '1',
|
|
hashtype int(1) default '0'
|
|
) {UTF_8};
|
|
|
|
create table {PREFIX}groups (
|
|
id {AUTOINCREMENT} {PRIMARY},
|
|
name varchar(64) default null
|
|
) {UTF_8};
|
|
|
|
create table {PREFIX}groupconfig (
|
|
id int(10) {UNSIGNED} not null default '0',
|
|
property varchar(128) default '',
|
|
value varchar(32) default null,
|
|
{PRIMARY} (id, property)
|
|
) {UTF_8};
|
|
|
|
CREATE INDEX groupid_idx ON {PREFIX}groupconfig (id);
|
|
CREATE INDEX groupprop_idx ON {PREFIX}groupconfig (id, property);
|
|
|
|
create table {PREFIX}authorgroups (
|
|
groupid int(10) {UNSIGNED} not null default '0',
|
|
authorid int(10) {UNSIGNED} not null default '0'
|
|
) {UTF_8};
|
|
|
|
CREATE INDEX authorgroup_idxA ON {PREFIX}authorgroups (groupid);
|
|
CREATE INDEX authorgroup_idxB ON {PREFIX}authorgroups (authorid);
|
|
|
|
create table {PREFIX}access (
|
|
groupid int(10) {UNSIGNED} not null default '0',
|
|
artifact_id int(10) {UNSIGNED} not null default '0',
|
|
artifact_type varchar(64) NOT NULL default '',
|
|
artifact_mode varchar(64) NOT NULL default '',
|
|
artifact_index varchar(64) NOT NULL default ''
|
|
) {UTF_8};
|
|
|
|
CREATE INDEX accessgroup_idx ON {PREFIX}access(groupid);
|
|
CREATE INDEX accessgroupT_idx ON {PREFIX}access(artifact_id,artifact_type,artifact_mode);
|
|
CREATE INDEX accessforeign_idx ON {PREFIX}access(artifact_id);
|
|
|
|
|
|
#
|
|
# table structure for table '{PREFIX}comments'
|
|
#
|
|
|
|
create table {PREFIX}comments (
|
|
id {AUTOINCREMENT} {PRIMARY},
|
|
entry_id int(10) {UNSIGNED} not null default '0',
|
|
parent_id int(10) {UNSIGNED} not null default '0',
|
|
timestamp int(10) {UNSIGNED} default null,
|
|
title varchar(150) default null,
|
|
author varchar(80) default null,
|
|
email varchar(200) default null,
|
|
url varchar(200) default null,
|
|
ip varchar(64) default null,
|
|
body {TEXT},
|
|
type varchar(100) default 'regular',
|
|
subscribed {BOOLEAN},
|
|
status varchar(50) not null,
|
|
referer varchar(200) default null
|
|
) {UTF_8};
|
|
|
|
CREATE INDEX commentry_idx ON {PREFIX}comments (entry_id);
|
|
CREATE INDEX commpentry_idx ON {PREFIX}comments (parent_id);
|
|
CREATE INDEX commtype_idx ON {PREFIX}comments (type);
|
|
CREATE INDEX commstat_idx ON {PREFIX}comments (status);
|
|
|
|
#
|
|
# table structure for table '{PREFIX}entries'
|
|
#
|
|
|
|
create table {PREFIX}entries (
|
|
id {AUTOINCREMENT} {PRIMARY},
|
|
title varchar(200) default null,
|
|
timestamp int(10) {UNSIGNED} default null,
|
|
body {TEXT},
|
|
comments int(4) {UNSIGNED} default '0',
|
|
trackbacks int(4) {UNSIGNED} default '0',
|
|
extended {TEXT},
|
|
exflag int(1) default null,
|
|
author varchar(20) default null,
|
|
authorid int(11) default null,
|
|
isdraft {BOOLEAN},
|
|
allow_comments {BOOLEAN},
|
|
last_modified int(10) {UNSIGNED} default null,
|
|
moderate_comments {BOOLEAN}
|
|
) {UTF_8};
|
|
|
|
# FULLTEXT_MYSQL is ignored on all Non-MySQL setups (SQLite, PostgreSQL)
|
|
CREATE {FULLTEXT_MYSQL} INDEX entry_idx on {PREFIX}entries (title,body,extended);
|
|
CREATE INDEX date_idx ON {PREFIX}entries (timestamp);
|
|
CREATE INDEX mod_idx ON {PREFIX}entries (last_modified);
|
|
CREATE INDEX edraft_idx ON {PREFIX}entries (isdraft);
|
|
CREATE INDEX eauthor_idx ON {PREFIX}entries (authorid);
|
|
|
|
#
|
|
# table structure for table '{PREFIX}references'
|
|
#
|
|
|
|
create table {PREFIX}references (
|
|
id {AUTOINCREMENT} {PRIMARY},
|
|
entry_id int(10) {UNSIGNED} not null default '0',
|
|
link text,
|
|
name text,
|
|
type varchar(128) not null default ''
|
|
) {UTF_8};
|
|
|
|
CREATE INDEX refentry_idx ON {PREFIX}references (entry_id);
|
|
CREATE INDEX reftype_idx ON {PREFIX}references (type);
|
|
|
|
#
|
|
# Table structure for table '{PREFIX}exits'
|
|
#
|
|
|
|
CREATE TABLE {PREFIX}exits (
|
|
entry_id int(11) NOT NULL default '0',
|
|
day date NOT NULL,
|
|
count int(11) NOT NULL default '0',
|
|
scheme varchar(5),
|
|
host varchar(128) NOT NULL,
|
|
port varchar(5),
|
|
path varchar(255),
|
|
query varchar(255),
|
|
PRIMARY KEY (host,path,day,entry_id)
|
|
) {UTF_8};
|
|
|
|
CREATE INDEX exits_idx ON {PREFIX}exits (entry_id,day,host);
|
|
|
|
#
|
|
# Table structure for table '{PREFIX}referrers'
|
|
#
|
|
|
|
CREATE TABLE {PREFIX}referrers (
|
|
entry_id int(11) NOT NULL default '0',
|
|
day date NOT NULL,
|
|
count int(11) NOT NULL default '0',
|
|
scheme varchar(5),
|
|
host varchar(128) NOT NULL,
|
|
port varchar(5),
|
|
path varchar(255),
|
|
query varchar(255),
|
|
PRIMARY KEY (host,day,entry_id)
|
|
) {UTF_8};
|
|
|
|
CREATE INDEX referrers_idx ON {PREFIX}referrers (entry_id,day);
|
|
|
|
#
|
|
# Table structure for table 'serendipity_config'
|
|
#
|
|
|
|
create table {PREFIX}config (
|
|
name varchar(255) not null,
|
|
value text not null,
|
|
authorid int(11) default '0',
|
|
{PRIMARY} (name, authorid)
|
|
) {UTF_8};
|
|
|
|
CREATE INDEX configauthorid_idx ON {PREFIX}config (authorid);
|
|
|
|
create table {PREFIX}options (
|
|
name varchar(255) not null,
|
|
value text not null,
|
|
okey varchar(64) not null default '',
|
|
{PRIMARY} (name, okey)
|
|
) {UTF_8};
|
|
|
|
CREATE INDEX options_idx ON {PREFIX}options (okey);
|
|
|
|
CREATE TABLE {PREFIX}suppress (
|
|
ip varchar(64) default NULL,
|
|
scheme varchar(5),
|
|
host varchar(128),
|
|
port varchar(5),
|
|
path varchar(255),
|
|
query varchar(255),
|
|
last timestamp NOT NULL
|
|
) {UTF_8};
|
|
|
|
CREATE INDEX url_idx on {PREFIX}suppress (host, ip);
|
|
CREATE INDEX urllast_idx on {PREFIX}suppress (last);
|
|
|
|
CREATE TABLE {PREFIX}plugins (
|
|
name varchar(128) not null,
|
|
placement varchar(6) not null default 'right',
|
|
sort_order int(4) not null default '0',
|
|
authorid int(11) default '0',
|
|
path varchar(255) default null,
|
|
PRIMARY KEY(name)
|
|
) {UTF_8};
|
|
|
|
CREATE INDEX pluginauthorid_idx ON {PREFIX}plugins (authorid);
|
|
CREATE INDEX pluginplace_idx ON {PREFIX}plugins (placement);
|
|
CREATE INDEX pluginretr_idx ON {PREFIX}plugins (placement, sort_order);
|
|
|
|
CREATE TABLE {PREFIX}category (
|
|
categoryid {AUTOINCREMENT} {PRIMARY},
|
|
category_name varchar(255) default NULL,
|
|
category_icon varchar(255) default NULL,
|
|
category_description text,
|
|
authorid int(11) default NULL,
|
|
category_left int(11) default '0',
|
|
category_right int(11) default '0',
|
|
parentid int(11) DEFAULT '0' NOT NULL,
|
|
sort_order int(11),
|
|
hide_sub int(1)
|
|
) {UTF_8};
|
|
|
|
CREATE INDEX categorya_idx ON {PREFIX}category (authorid);
|
|
CREATE INDEX categoryp_idx ON {PREFIX}category (parentid);
|
|
CREATE INDEX categorylr_idx ON {PREFIX}category (category_left, category_right);
|
|
CREATE INDEX categoryso_idx ON {PREFIX}category (sort_order);
|
|
|
|
CREATE TABLE {PREFIX}images (
|
|
id {AUTOINCREMENT} {PRIMARY},
|
|
name varchar(255) not null default '',
|
|
extension varchar(5) not null default '',
|
|
mime varchar(255) not null default '',
|
|
size int(11) not null default '0',
|
|
dimensions_width int(11) not null default '0',
|
|
dimensions_height int(11) not null default '0',
|
|
date int(11) not null default '0',
|
|
thumbnail_name varchar(255) not null default '',
|
|
authorid int(11) default '0',
|
|
path text,
|
|
hotlink int(1),
|
|
realname varchar(255) not null default ''
|
|
) {UTF_8};
|
|
|
|
CREATE INDEX imagesauthorid_idx ON {PREFIX}images (authorid);
|
|
CREATE {FULLTEXT} INDEX pathkey_idx on {PREFIX}images (path);
|
|
|
|
CREATE TABLE {PREFIX}entrycat (
|
|
entryid int(11) not null,
|
|
categoryid int(11) not null
|
|
) {UTF_8};
|
|
|
|
CREATE UNIQUE INDEX entryid_idx ON {PREFIX}entrycat (entryid, categoryid);
|
|
|
|
create table {PREFIX}entryproperties (
|
|
entryid int(11) not null,
|
|
property varchar(255) not null,
|
|
value {TEXT}
|
|
) {UTF_8};
|
|
|
|
CREATE INDEX entrypropid_idx ON {PREFIX}entryproperties (entryid);
|
|
CREATE UNIQUE INDEX prop_idx ON {PREFIX}entryproperties (entryid, property);
|
|
|
|
create table {PREFIX}mediaproperties (
|
|
mediaid int(11) not null,
|
|
property varchar(128) not null,
|
|
property_group varchar(50) not null default '',
|
|
property_subgroup varchar(50) not null default '',
|
|
value text
|
|
) {UTF_8};
|
|
|
|
CREATE INDEX mediapropid_idx ON {PREFIX}mediaproperties (mediaid);
|
|
CREATE UNIQUE INDEX media_idx ON {PREFIX}mediaproperties (mediaid, property, property_group, property_subgroup);
|
|
|
|
CREATE TABLE {PREFIX}permalinks (
|
|
permalink varchar(255) not null default '',
|
|
entry_id int(10) {UNSIGNED} not null default '0',
|
|
type varchar(200) not null default '',
|
|
data text
|
|
) {UTF_8};
|
|
|
|
CREATE INDEX pl_idx ON {PREFIX}permalinks (permalink);
|
|
CREATE INDEX ple_idx ON {PREFIX}permalinks (entry_id);
|
|
CREATE INDEX plt_idx ON {PREFIX}permalinks (type);
|
|
CREATE INDEX plcomb_idx ON {PREFIX}permalinks (permalink, type);
|
|
|
|
create table {PREFIX}plugincategories (
|
|
class_name varchar(250) default null,
|
|
category varchar(250) default null
|
|
) {UTF_8};
|
|
|
|
CREATE INDEX plugincat_idx ON {PREFIX}plugincategories(class_name, category);
|
|
|
|
create table {PREFIX}pluginlist (
|
|
plugin_file varchar(255) NOT NULL default '',
|
|
class_name varchar(255) NOT NULL default '',
|
|
plugin_class varchar(255) NOT NULL default '',
|
|
pluginPath varchar(255) NOT NULL default '',
|
|
name varchar(255) NOT NULL default '',
|
|
description text NOT NULL,
|
|
version varchar(12) NOT NULL default '',
|
|
upgrade_version varchar(12) NOT NULL default '',
|
|
plugintype varchar(255) NOT NULL default '',
|
|
pluginlocation varchar(255) NOT NULL default '',
|
|
stackable int(1) NOT NULL default '0',
|
|
author varchar(255) NOT NULL default '',
|
|
requirements text NOT NULL,
|
|
website varchar(255) NOT NULL default '',
|
|
last_modified int(11) NOT NULL default '0'
|
|
) {UTF_8};
|
|
|
|
CREATE INDEX pluginlist_f_idx ON {PREFIX}pluginlist(plugin_file);
|
|
CREATE INDEX pluginlist_cn_idx ON {PREFIX}pluginlist(class_name);
|
|
CREATE INDEX pluginlist_pt_idx ON {PREFIX}pluginlist(plugintype);
|
|
CREATE INDEX pluginlist_pl_idx ON {PREFIX}pluginlist(pluginlocation);
|