1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224
|
-- $Horde: horde/scripts/sql/create.sql,v 1.1.2.20 2009/06/10 16:45:28 jan Exp $
CREATE TABLE horde_users (
user_uid VARCHAR(255) NOT NULL,
user_pass VARCHAR(255) NOT NULL,
user_soft_expiration_date INTEGER,
user_hard_expiration_date INTEGER,
--
PRIMARY KEY (user_uid)
);
CREATE TABLE horde_signups (
user_name VARCHAR(255) NOT NULL,
signup_date INTEGER NOT NULL,
signup_host VARCHAR(255) NOT NULL,
signup_data TEXT NOT NULL,
PRIMARY KEY (user_name)
);
CREATE TABLE horde_groups (
group_uid INTEGER NOT NULL,
group_name VARCHAR(255) NOT NULL,
group_parents VARCHAR(255) NOT NULL,
group_email VARCHAR(255),
PRIMARY KEY (group_uid)
);
CREATE TABLE horde_groups_members (
group_uid INTEGER NOT NULL,
user_uid VARCHAR(255) NOT NULL
);
CREATE INDEX group_uid_idx ON horde_groups_members (group_uid);
CREATE INDEX user_uid_idx ON horde_groups_members (user_uid);
CREATE TABLE horde_perms (
perm_id INTEGER NOT NULL,
perm_name VARCHAR(255) NOT NULL,
perm_parents VARCHAR(255) NOT NULL,
perm_data TEXT,
PRIMARY KEY (perm_id)
);
CREATE TABLE horde_prefs (
pref_uid VARCHAR(255) NOT NULL,
pref_scope VARCHAR(16) DEFAULT '' NOT NULL,
pref_name VARCHAR(32) NOT NULL,
pref_value TEXT,
--
PRIMARY KEY (pref_uid, pref_scope, pref_name)
);
CREATE TABLE horde_datatree (
datatree_id INT UNSIGNED NOT NULL,
group_uid VARCHAR(255) NOT NULL,
user_uid VARCHAR(255) NOT NULL,
datatree_name VARCHAR(255) NOT NULL,
datatree_parents VARCHAR(255) NOT NULL,
datatree_order INT,
-- There is no portable way to do this apparently. If your db doesn't
-- allow TEXT columns, then maybe it allows large VARCHAR columns, so
-- try the second line.
--
datatree_data TEXT,
-- datatree_data VARCHAR(4096),
datatree_serialized SMALLINT DEFAULT 0 NOT NULL,
PRIMARY KEY (datatree_id)
);
CREATE INDEX datatree_datatree_name_idx ON horde_datatree (datatree_name);
CREATE INDEX datatree_group_idx ON horde_datatree (group_uid);
CREATE INDEX datatree_user_idx ON horde_datatree (user_uid);
CREATE INDEX datatree_order_idx ON horde_datatree (datatree_order);
CREATE INDEX datatree_serialized_idx ON horde_datatree (datatree_serialized);
CREATE INDEX datatree_parents_idx ON horde_datatree (datatree_parents);
CREATE TABLE horde_datatree_attributes (
datatree_id INT UNSIGNED NOT NULL,
attribute_name VARCHAR(255) NOT NULL,
attribute_key VARCHAR(255),
attribute_value TEXT
);
CREATE INDEX datatree_attribute_idx ON horde_datatree_attributes (datatree_id);
CREATE INDEX datatree_attribute_name_idx ON horde_datatree_attributes (attribute_name);
CREATE INDEX datatree_attribute_key_idx ON horde_datatree_attributes (attribute_key);
CREATE INDEX datatree_attribute_value_idx ON horde_datatree_attributes (attribute_value);
CREATE TABLE horde_tokens (
token_address VARCHAR(100) NOT NULL,
token_id VARCHAR(32) NOT NULL,
token_timestamp BIGINT NOT NULL,
--
PRIMARY KEY (token_address, token_id)
);
CREATE TABLE horde_vfs (
vfs_id INT UNSIGNED NOT NULL,
vfs_type SMALLINT UNSIGNED NOT NULL,
vfs_path VARCHAR(255) NOT NULL,
vfs_name VARCHAR(255) NOT NULL,
vfs_modified BIGINT NOT NULL,
vfs_owner VARCHAR(255) NOT NULL,
vfs_data LONGBLOB,
-- Or, on some DBMS systems:
-- vfs_data IMAGE,
PRIMARY KEY (vfs_id)
);
CREATE INDEX vfs_path_idx ON horde_vfs (vfs_path);
CREATE INDEX vfs_name_idx ON horde_vfs (vfs_name);
CREATE TABLE horde_histories (
history_id INT UNSIGNED NOT NULL,
object_uid VARCHAR(255) NOT NULL,
history_action VARCHAR(32) NOT NULL,
history_ts BIGINT NOT NULL,
history_desc TEXT,
history_who VARCHAR(255),
history_extra TEXT,
--
PRIMARY KEY (history_id)
);
CREATE INDEX history_action_idx ON horde_histories (history_action);
CREATE INDEX history_ts_idx ON horde_histories (history_ts);
CREATE INDEX history_uid_idx ON horde_histories (object_uid);
CREATE TABLE horde_sessionhandler (
session_id VARCHAR(32) NOT NULL,
session_lastmodified BIGINT NOT NULL,
session_data LONGBLOB,
-- Or, on some DBMS systems:
-- session_data IMAGE,
PRIMARY KEY (session_id)
);
CREATE INDEX session_lastmodified_idx ON horde_sessionhandler (session_lastmodified);
CREATE TABLE horde_syncml_map (
syncml_syncpartner VARCHAR(255) NOT NULL,
syncml_db VARCHAR(255) NOT NULL,
syncml_uid VARCHAR(255) NOT NULL,
syncml_cuid VARCHAR(255),
syncml_suid VARCHAR(255),
syncml_timestamp BIGINT
);
CREATE INDEX syncml_syncpartner_idx ON horde_syncml_map (syncml_syncpartner);
CREATE INDEX syncml_db_idx ON horde_syncml_map (syncml_db);
CREATE INDEX syncml_uid_idx ON horde_syncml_map (syncml_uid);
CREATE INDEX syncml_cuid_idx ON horde_syncml_map (syncml_cuid);
CREATE INDEX syncml_suid_idx ON horde_syncml_map (syncml_suid);
CREATE TABLE horde_syncml_anchors(
syncml_syncpartner VARCHAR(255) NOT NULL,
syncml_db VARCHAR(255) NOT NULL,
syncml_uid VARCHAR(255) NOT NULL,
syncml_clientanchor VARCHAR(255),
syncml_serveranchor VARCHAR(255)
);
CREATE INDEX syncml_anchors_syncpartner_idx ON horde_syncml_anchors (syncml_syncpartner);
CREATE INDEX syncml_anchors_db_idx ON horde_syncml_anchors (syncml_db);
CREATE INDEX syncml_anchors_uid_idx ON horde_syncml_anchors (syncml_uid);
CREATE TABLE horde_alarms (
alarm_id VARCHAR(255) NOT NULL,
alarm_uid VARCHAR(255),
alarm_start DATETIME NOT NULL,
alarm_end DATETIME,
alarm_methods VARCHAR(255),
alarm_params TEXT,
alarm_title VARCHAR(255) NOT NULL,
alarm_text TEXT,
alarm_snooze DATETIME,
alarm_dismissed SMALLINT DEFAULT 0 NOT NULL,
alarm_internal TEXT
);
CREATE INDEX alarm_id_idx ON horde_alarms (alarm_id);
CREATE INDEX alarm_user_idx ON horde_alarms (alarm_uid);
CREATE INDEX alarm_start_idx ON horde_alarms (alarm_start);
CREATE INDEX alarm_end_idx ON horde_alarms (alarm_end);
CREATE INDEX alarm_snooze_idx ON horde_alarms (alarm_snooze);
CREATE INDEX alarm_dismissed_idx ON horde_alarms (alarm_dismissed);
CREATE TABLE horde_cache (
cache_id VARCHAR(32) NOT NULL,
cache_timestamp BIGINT NOT NULL,
cache_expiration BIGINT NOT NULL,
cache_data LONGBLOB,
-- Or on some other DBMS systems:
-- cache_data IMAGE,
PRIMARY KEY (cache_id)
);
CREATE TABLE horde_locks (
lock_id VARCHAR(36) NOT NULL,
lock_owner VARCHAR(32) NOT NULL,
lock_scope VARCHAR(32) NOT NULL,
lock_principal VARCHAR(255) NOT NULL,
lock_origin_timestamp BIGINT NOT NULL,
lock_update_timestamp BIGINT NOT NULL,
lock_expiry_timestamp BIGINT NOT NULL,
lock_type SMALLINT UNSIGNED NOT NULL,
PRIMARY KEY (lock_id)
);
|