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
|
-- $Horde: horde/scripts/sql/create.mysql.sql,v 1.4.6.2 2005/03/06 18:10:20 jan Exp $
--
-- If you are installing Horde for the first time, you can simply
-- direct this file to mysql as STDIN:
--
-- $ mysql --user=root --password=<MySQL-root-password> < create.mysql.sql
--
-- If you are upgrading from a previous version, you will need to comment
-- out the the user creation steps below, as well as the schemas for any
-- tables that already exist.
--
-- If you choose to grant permissions manually, note that with MySQL, PEAR DB
-- emulates sequences by automatically creating extra tables ending in _seq,
-- so the MySQL "horde" user must have CREATE privilege on the "horde"
-- database.
--
-- If you are upgrading from Horde 1.x, the Horde tables you have from
-- that version are no longer used; you may wish to either delete those
-- tables or simply recreate the database anew.
USE mysql;
REPLACE INTO user (host, user, password)
VALUES (
'localhost',
'horde',
-- IMPORTANT: Change this password!
PASSWORD('horde')
);
REPLACE INTO db (host, db, user, select_priv, insert_priv, update_priv,
delete_priv, create_priv, drop_priv, index_priv)
VALUES (
'localhost',
'horde',
'horde',
'Y', 'Y', 'Y', 'Y',
'Y', 'Y', 'Y'
);
-- Make sure that priviliges are reloaded.
FLUSH PRIVILEGES;
-- MySQL 3.23.x appears to have "CREATE DATABASE IF NOT EXISTS" and
-- "CREATE TABLE IF NOT EXISTS" which would be a nice way to handle
-- reinstalls gracefully (someday). For now, drop the database
-- manually to avoid CREATE errors.
CREATE DATABASE horde;
USE horde;
CREATE TABLE horde_users (
user_uid VARCHAR(255) NOT NULL,
user_pass VARCHAR(32) NOT NULL,
PRIMARY KEY (user_uid)
);
GRANT SELECT, INSERT, UPDATE, DELETE ON horde_users TO horde@localhost;
CREATE TABLE horde_prefs (
pref_uid VARCHAR(200) NOT NULL,
pref_scope VARCHAR(16) NOT NULL DEFAULT '',
pref_name VARCHAR(32) NOT NULL,
pref_value LONGTEXT NULL,
PRIMARY KEY (pref_uid, pref_scope, pref_name)
);
GRANT SELECT, INSERT, UPDATE, DELETE ON horde_prefs TO horde@localhost;
CREATE TABLE horde_datatree (
datatree_id INT 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,
datatree_data TEXT,
datatree_serialized SMALLINT DEFAULT 0 NOT NULL,
datatree_updated TIMESTAMP,
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_serialized_idx ON horde_datatree (datatree_serialized);
CREATE TABLE horde_datatree_attributes (
datatree_id INT NOT NULL,
attribute_name VARCHAR(255) NOT NULL,
attribute_key VARCHAR(255) DEFAULT '' NOT NULL,
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);
GRANT SELECT, INSERT, UPDATE, DELETE ON horde_datatree TO horde@localhost;
GRANT SELECT, INSERT, UPDATE, DELETE ON horde_datatree_attributes TO horde@localhost;
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)
);
GRANT SELECT, INSERT, UPDATE, DELETE ON horde_tokens TO horde@localhost;
CREATE TABLE horde_vfs (
vfs_id BIGINT NOT NULL,
vfs_type SMALLINT 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,
PRIMARY KEY (vfs_id)
);
CREATE INDEX vfs_path_idx ON horde_vfs (vfs_path);
CREATE INDEX vfs_name_idx ON horde_vfs (vfs_name);
GRANT SELECT, INSERT, UPDATE, DELETE ON horde_vfs TO horde@localhost;
FLUSH PRIVILEGES;
-- Done!
|