1
0
mirror of https://github.com/haiwen/seafile-server.git synced 2025-09-01 23:46:53 +00:00

Fix the create table sqls.

This commit is contained in:
ly1217
2019-05-19 19:39:50 -07:00
parent 7ecb334194
commit b73e3ef989
7 changed files with 483 additions and 396 deletions

View File

@@ -1,115 +1,104 @@
CREATE TABLE `Group` ( CREATE TABLE IF NOT EXISTS Binding (
`group_id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`group_name` varchar(255) DEFAULT NULL, email VARCHAR(255),
`creator_name` varchar(255) DEFAULT NULL, peer_id CHAR(41),
`timestamp` bigint(20) DEFAULT NULL, UNIQUE INDEX (peer_id),
`type` varchar(32) DEFAULT NULL, INDEX (email(20))
`parent_group_id` int(11) DEFAULT NULL, ) ENGINE=INNODB;
PRIMARY KEY (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `GroupUser` ( CREATE TABLE IF NOT EXISTS EmailUser (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`group_id` bigint(20) DEFAULT NULL, email VARCHAR(255),
`user_name` varchar(255) DEFAULT NULL, passwd VARCHAR(256),
`is_staff` tinyint(4) DEFAULT NULL, is_staff BOOL NOT NULL,
PRIMARY KEY (`id`), is_active BOOL NOT NULL,
UNIQUE KEY `group_id` (`group_id`,`user_name`), ctime BIGINT,
KEY `user_name` (`user_name`) reference_id VARCHAR(255),
) ENGINE=InnoDB DEFAULT CHARSET=utf8; UNIQUE INDEX (email),
UNIQUE INDEX (reference_id)
) ENGINE=INNODB;
CREATE TABLE `GroupDNPair` ( CREATE TABLE IF NOT EXISTS `Group` (
`id` bigint(20) NOT NULL AUTO_INCREMENT, `group_id` BIGINT PRIMARY KEY AUTO_INCREMENT,
`group_id` int(11) DEFAULT NULL, `group_name` VARCHAR(255),
`dn` varchar(255) DEFAULT NULL, `creator_name` VARCHAR(255),
PRIMARY KEY (`id`) `timestamp` BIGINT,
) ENGINE=InnoDB DEFAULT CHARSET=utf8; `type` VARCHAR(32),
`parent_group_id` INTEGER
) ENGINE=INNODB;
CREATE TABLE `GroupStructure` ( CREATE TABLE IF NOT EXISTS GroupDNPair (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`group_id` int(11) DEFAULT NULL, group_id INTEGER,
`path` varchar(1024) DEFAULT NULL, dn VARCHAR(255)
PRIMARY KEY (`id`), )ENGINE=INNODB;
UNIQUE KEY `group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `OrgGroup` ( CREATE TABLE IF NOT EXISTS GroupStructure (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`org_id` int(11) DEFAULT NULL, group_id INTEGER,
`group_id` int(11) DEFAULT NULL, path VARCHAR(1024),
PRIMARY KEY (`id`), UNIQUE INDEX(group_id)
UNIQUE KEY `org_id` (`org_id`,`group_id`), )ENGINE=INNODB;
KEY `group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `Organization` ( CREATE TABLE IF NOT EXISTS `GroupUser` (
`org_id` bigint(20) NOT NULL AUTO_INCREMENT, `id` BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`org_name` varchar(255) DEFAULT NULL, `group_id` BIGINT,
`url_prefix` varchar(255) DEFAULT NULL, `user_name` VARCHAR(255),
`creator` varchar(255) DEFAULT NULL, `is_staff` tinyint,
`ctime` bigint(20) DEFAULT NULL, UNIQUE INDEX (`group_id`, `user_name`),
PRIMARY KEY (`org_id`), INDEX (`user_name`)
UNIQUE KEY `url_prefix` (`url_prefix`) ) ENGINE=INNODB;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `OrgUser` ( CREATE TABLE IF NOT EXISTS LDAPConfig (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`org_id` int(11) DEFAULT NULL, cfg_group VARCHAR(255) NOT NULL,
`email` varchar(255) DEFAULT NULL, cfg_key VARCHAR(255) NOT NULL,
`is_staff` tinyint(1) NOT NULL, value VARCHAR(255),
PRIMARY KEY (`id`), property INTEGER
UNIQUE KEY `org_id` (`org_id`,`email`), ) ENGINE=INNODB;
KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `Binding` ( CREATE TABLE IF NOT EXISTS LDAPUsers (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT PRIMARY KEY AUTO_INCREMENT,
`email` varchar(255) DEFAULT NULL, email VARCHAR(255) NOT NULL,
`peer_id` char(41) DEFAULT NULL, password varchar(255) NOT NULL,
PRIMARY KEY (`id`), is_staff BOOL NOT NULL,
UNIQUE KEY `peer_id` (`peer_id`), is_active BOOL NOT NULL,
KEY `email` (`email`(20)) extra_attrs TEXT,
) ENGINE=InnoDB DEFAULT CHARSET=utf8; reference_id VARCHAR(255),
UNIQUE INDEX(email),
UNIQUE INDEX (reference_id)
) ENGINE=INNODB;
CREATE TABLE `EmailUser` ( CREATE TABLE IF NOT EXISTS OrgGroup (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`email` varchar(255) DEFAULT NULL, org_id INTEGER,
`passwd` varchar(256) DEFAULT NULL, group_id INTEGER,
`is_staff` tinyint(1) NOT NULL, INDEX (group_id),
`is_active` tinyint(1) NOT NULL, UNIQUE INDEX(org_id, group_id)
`ctime` bigint(20) DEFAULT NULL, ) ENGINE=INNODB;
`reference_id` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`),
UNIQUE KEY `reference_id` (`reference_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `LDAPConfig` ( CREATE TABLE IF NOT EXISTS OrgUser (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`cfg_group` varchar(255) NOT NULL, org_id INTEGER,
`cfg_key` varchar(255) NOT NULL, email VARCHAR(255),
`value` varchar(255) DEFAULT NULL, is_staff BOOL NOT NULL,
`property` int(11) DEFAULT NULL, INDEX (email),
PRIMARY KEY (`id`) UNIQUE INDEX(org_id, email)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=INNODB;
CREATE TABLE `LDAPUsers` ( CREATE TABLE IF NOT EXISTS Organization (
`id` bigint(20) NOT NULL AUTO_INCREMENT, org_id BIGINT PRIMARY KEY AUTO_INCREMENT,
`email` varchar(255) NOT NULL, org_name VARCHAR(255),
`password` varchar(255) NOT NULL, url_prefix VARCHAR(255),
`is_staff` tinyint(1) NOT NULL, creator VARCHAR(255),
`is_active` tinyint(1) NOT NULL, ctime BIGINT,
`extra_attrs` text, UNIQUE INDEX (url_prefix)
`reference_id` varchar(255) DEFAULT NULL, ) ENGINE=INNODB;
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`),
UNIQUE KEY `reference_id` (`reference_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `UserRole` ( CREATE TABLE IF NOT EXISTS UserRole (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`email` varchar(255) DEFAULT NULL, email VARCHAR(255),
`role` varchar(255) DEFAULT NULL, role VARCHAR(255),
PRIMARY KEY (`id`), is_manual_set INTEGER DEFAULT 0,
UNIQUE KEY `email` (`email`) UNIQUE INDEX (email)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=INNODB;

View File

@@ -1,228 +1,324 @@
CREATE TABLE `Branch` ( CREATE TABLE IF NOT EXISTS Branch (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`name` varchar(10) DEFAULT NULL, name VARCHAR(10),
`repo_id` char(41) DEFAULT NULL, repo_id CHAR(41),
`commit_id` char(41) DEFAULT NULL, commit_id CHAR(41),
PRIMARY KEY (`id`), UNIQUE INDEX(repo_id, name)
UNIQUE KEY `repo_id` (`repo_id`,`name`) ) ENGINE = INNODB;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `GarbageRepos` ( CREATE TABLE IF NOT EXISTS FileLockTimestamp (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`repo_id` char(36) DEFAULT NULL, repo_id CHAR(40),
PRIMARY KEY (`id`), update_time BIGINT NOT NULL,
UNIQUE KEY `repo_id` (`repo_id`) UNIQUE INDEX(repo_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; );
CREATE TABLE `InnerPubRepo` ( CREATE TABLE IF NOT EXISTS FileLocks (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`repo_id` char(37) DEFAULT NULL, repo_id CHAR(40) NOT NULL,
`permission` char(15) DEFAULT NULL, path TEXT NOT NULL,
PRIMARY KEY (`id`), user_name VARCHAR(255) NOT NULL,
UNIQUE KEY `repo_id` (`repo_id`) lock_time BIGINT,
) ENGINE=InnoDB DEFAULT CHARSET=utf8; expire BIGINT,
KEY(repo_id)
) ENGINE=INNODB;
CREATE TABLE `OrgQuota` ( CREATE TABLE IF NOT EXISTS FolderGroupPerm (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`org_id` int(11) DEFAULT NULL, repo_id CHAR(36) NOT NULL,
`quota` bigint(20) DEFAULT NULL, path TEXT NOT NULL,
PRIMARY KEY (`id`), permission CHAR(15),
UNIQUE KEY `org_id` (`org_id`) group_id INTEGER NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8; INDEX(repo_id)
) ENGINE=INNODB;
CREATE TABLE `OrgUserQuota` ( CREATE TABLE IF NOT EXISTS FolderPermTimestamp (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`org_id` int(11) DEFAULT NULL, repo_id CHAR(36),
`user` varchar(255) DEFAULT NULL, timestamp BIGINT,
`quota` bigint(20) DEFAULT NULL, UNIQUE INDEX(repo_id)
PRIMARY KEY (`id`), ) ENGINE=INNODB;
UNIQUE KEY `org_id` (`org_id`,`user`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `Repo` ( CREATE TABLE IF NOT EXISTS FolderUserPerm (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`repo_id` char(37) DEFAULT NULL, repo_id CHAR(36) NOT NULL,
PRIMARY KEY (`id`), path TEXT NOT NULL,
UNIQUE KEY `repo_id` (`repo_id`) permission CHAR(15),
) ENGINE=InnoDB DEFAULT CHARSET=utf8; user VARCHAR(255) NOT NULL,
INDEX(repo_id)
) ENGINE=INNODB;
CREATE TABLE `RepoFileCount` ( CREATE TABLE IF NOT EXISTS GCID (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`repo_id` char(36) DEFAULT NULL, repo_id CHAR(36),
`file_count` bigint(20) unsigned DEFAULT NULL, gc_id CHAR(36),
PRIMARY KEY (`id`), UNIQUE INDEX(repo_id)
UNIQUE KEY `repo_id` (`repo_id`) ) ENGINE=INNODB;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `RepoGroup` ( CREATE TABLE IF NOT EXISTS GarbageRepos (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`repo_id` char(37) DEFAULT NULL, repo_id CHAR(36),
`group_id` int(11) DEFAULT NULL, UNIQUE INDEX(repo_id)
`user_name` varchar(255) DEFAULT NULL, );
`permission` char(15) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `group_id` (`group_id`,`repo_id`),
KEY `repo_id` (`repo_id`),
KEY `user_name` (`user_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `RepoHead` ( CREATE TABLE IF NOT EXISTS InnerPubRepo (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`repo_id` char(37) DEFAULT NULL, repo_id CHAR(37),
`branch_name` varchar(10) DEFAULT NULL, permission CHAR(15),
PRIMARY KEY (`id`), UNIQUE INDEX (repo_id)
UNIQUE KEY `repo_id` (`repo_id`) ) ENGINE=INNODB;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `RepoHistoryLimit` ( CREATE TABLE IF NOT EXISTS LastGCID (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`repo_id` char(37) DEFAULT NULL, repo_id CHAR(36),
`days` int(11) DEFAULT NULL, client_id VARCHAR(128),
PRIMARY KEY (`id`), gc_id CHAR(36),
UNIQUE KEY `repo_id` (`repo_id`) UNIQUE INDEX(repo_id, client_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=INNODB;
CREATE TABLE `RepoInfo` ( CREATE TABLE IF NOT EXISTS OrgGroupRepo (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`repo_id` char(36) DEFAULT NULL, org_id INTEGER,
`name` varchar(255) NOT NULL, repo_id CHAR(37),
`update_time` bigint(20) DEFAULT NULL, group_id INTEGER,
`version` int(11) DEFAULT NULL, owner VARCHAR(255),
`is_encrypted` int(11) DEFAULT NULL, permission CHAR(15),
`last_modifier` varchar(255) DEFAULT NULL, UNIQUE INDEX(org_id, group_id, repo_id),
`status` INTEGER DEFAULT 0, INDEX (repo_id), INDEX (owner)
PRIMARY KEY (`id`), ) ENGINE=INNODB;
UNIQUE KEY `repo_id` (`repo_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `RepoOwner` ( CREATE TABLE IF NOT EXISTS OrgInnerPubRepo (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`repo_id` char(37) DEFAULT NULL, org_id INTEGER,
`owner_id` varchar(255) DEFAULT NULL, repo_id CHAR(37),
PRIMARY KEY (`id`), UNIQUE INDEX(org_id, repo_id),
UNIQUE KEY `repo_id` (`repo_id`), permission CHAR(15)
KEY `owner_id` (`owner_id`) ) ENGINE=INNODB;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `RepoSize` ( CREATE TABLE IF NOT EXISTS OrgQuota (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`repo_id` char(37) DEFAULT NULL, org_id INTEGER,
`size` bigint(20) unsigned DEFAULT NULL, quota BIGINT,
`head_id` char(41) DEFAULT NULL, UNIQUE INDEX(org_id)
PRIMARY KEY (`id`), ) ENGINE=INNODB;
UNIQUE KEY `repo_id` (`repo_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `RepoTokenPeerInfo` ( CREATE TABLE IF NOT EXISTS OrgRepo (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`token` char(41) DEFAULT NULL, org_id INTEGER,
`peer_id` char(41) DEFAULT NULL, repo_id CHAR(37),
`peer_ip` varchar(41) DEFAULT NULL, user VARCHAR(255),
`peer_name` varchar(255) DEFAULT NULL, UNIQUE INDEX(org_id, repo_id),
`sync_time` bigint(20) DEFAULT NULL, UNIQUE INDEX (repo_id),
`client_ver` varchar(20) DEFAULT NULL, INDEX (org_id, user),
PRIMARY KEY (`id`), INDEX(user)
UNIQUE KEY `token` (`token`) ) ENGINE=INNODB;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `RepoTrash` ( CREATE TABLE IF NOT EXISTS OrgSharedRepo (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
`repo_id` char(36) DEFAULT NULL, org_id INT,
`repo_name` varchar(255) DEFAULT NULL, repo_id CHAR(37) ,
`head_id` char(40) DEFAULT NULL, from_email VARCHAR(255),
`owner_id` varchar(255) DEFAULT NULL, to_email VARCHAR(255),
`size` bigint(20) DEFAULT NULL, permission CHAR(15),
`org_id` int(11) DEFAULT NULL, INDEX(repo_id),
`del_time` bigint(20) DEFAULT NULL, INDEX (org_id, repo_id),
PRIMARY KEY (`id`), INDEX(from_email), INDEX(to_email)
UNIQUE KEY `repo_id` (`repo_id`), ) ENGINE=INNODB;
KEY `owner_id` (`owner_id`),
KEY `org_id` (`org_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `RepoUserToken` ( CREATE TABLE IF NOT EXISTS OrgUserQuota (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`repo_id` char(37) DEFAULT NULL, org_id INTEGER,
`email` varchar(255) DEFAULT NULL, user VARCHAR(255),
`token` char(41) DEFAULT NULL, quota BIGINT,
PRIMARY KEY (`id`), UNIQUE INDEX(org_id, user)
UNIQUE KEY `repo_id` (`repo_id`,`token`), ) ENGINE=INNODB;
KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `RepoValidSince` ( CREATE TABLE IF NOT EXISTS Repo (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`repo_id` char(37) DEFAULT NULL, repo_id CHAR(37),
`timestamp` bigint(20) DEFAULT NULL, UNIQUE INDEX (repo_id)
PRIMARY KEY (`id`), ) ENGINE=INNODB;
UNIQUE KEY `repo_id` (`repo_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `SeafileConf` ( CREATE TABLE IF NOT EXISTS RepoFileCount (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`cfg_group` varchar(255) NOT NULL, repo_id CHAR(36),
`cfg_key` varchar(255) NOT NULL, file_count BIGINT UNSIGNED,
`value` varchar(255) DEFAULT NULL, UNIQUE INDEX(repo_id)
`property` int(11) DEFAULT NULL, ) ENGINE=INNODB;
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `SharedRepo` ( CREATE TABLE IF NOT EXISTS RepoGroup (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`repo_id` char(37) DEFAULT NULL, repo_id CHAR(37),
`from_email` varchar(255) DEFAULT NULL, group_id INTEGER,
`to_email` varchar(255) DEFAULT NULL, user_name VARCHAR(255),
`permission` char(15) DEFAULT NULL, permission CHAR(15),
PRIMARY KEY (`id`), UNIQUE INDEX(group_id, repo_id),
KEY `repo_id` (`repo_id`), INDEX (repo_id), INDEX (user_name)
KEY `from_email` (`from_email`), ) ENGINE=INNODB;
KEY `to_email` (`to_email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `SystemInfo` ( CREATE TABLE IF NOT EXISTS RepoHead (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`info_key` varchar(256) DEFAULT NULL, repo_id CHAR(37),
`info_value` varchar(1024) DEFAULT NULL, branch_name VARCHAR(10),
PRIMARY KEY (`id`) UNIQUE INDEX(repo_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=INNODB;
CREATE TABLE `UserQuota` ( CREATE TABLE IF NOT EXISTS RepoHistoryLimit (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`user` varchar(255) DEFAULT NULL, repo_id CHAR(37),
`quota` bigint(20) DEFAULT NULL, days INTEGER,
PRIMARY KEY (`id`), UNIQUE INDEX(repo_id)
UNIQUE KEY `user` (`user`) ) ENGINE=INNODB;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `UserShareQuota` ( CREATE TABLE IF NOT EXISTS RepoInfo (id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`id` bigint(20) NOT NULL AUTO_INCREMENT, repo_id CHAR(36),
`user` varchar(255) DEFAULT NULL, name VARCHAR(255) NOT NULL,
`quota` bigint(20) DEFAULT NULL, update_time BIGINT,
PRIMARY KEY (`id`), version INTEGER,
UNIQUE KEY `user` (`user`) is_encrypted INTEGER,
) ENGINE=InnoDB DEFAULT CHARSET=utf8; last_modifier VARCHAR(255),
status INTEGER DEFAULT 0,
UNIQUE INDEX(repo_id)
) ENGINE=INNODB;
CREATE TABLE `VirtualRepo` ( CREATE TABLE IF NOT EXISTS RepoOwner (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`repo_id` char(36) DEFAULT NULL, repo_id CHAR(37),
`origin_repo` char(36) DEFAULT NULL, owner_id VARCHAR(255),
`path` text, UNIQUE INDEX (repo_id),
`base_commit` char(40) DEFAULT NULL, INDEX (owner_id)
PRIMARY KEY (`id`), ) ENGINE=INNODB;
UNIQUE KEY `repo_id` (`repo_id`),
KEY `origin_repo` (`origin_repo`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `WebAP` ( CREATE TABLE IF NOT EXISTS RepoSize (
`id` bigint(20) NOT NULL AUTO_INCREMENT, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`repo_id` char(37) DEFAULT NULL, repo_id CHAR(37),
`access_property` char(10) DEFAULT NULL, size BIGINT UNSIGNED,
PRIMARY KEY (`id`), head_id CHAR(41),
UNIQUE KEY `repo_id` (`repo_id`) UNIQUE INDEX (repo_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=INNODB;
CREATE TABLE `WebUploadTempFiles` ( CREATE TABLE IF NOT EXISTS RepoStorageId (
`repo_id` char(40) NOT NULL, id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
`file_path` text NOT NULL, repo_id CHAR(40) NOT NULL,
`tmp_file_path` text NOT NULL storage_id VARCHAR(255) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8; UNIQUE INDEX(repo_id)
) ENGINE=INNODB;
CREATE TABLE IF NOT EXISTS RepoSyncError (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
token CHAR(41),
error_time BIGINT UNSIGNED,
error_con VARCHAR(1024),
UNIQUE INDEX(token)
) ENGINE=INNODB;
CREATE TABLE IF NOT EXISTS RepoTokenPeerInfo (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
token CHAR(41),
peer_id CHAR(41),
peer_ip VARCHAR(41),
peer_name VARCHAR(255),
sync_time BIGINT,
client_ver VARCHAR(20),
UNIQUE INDEX(token)
) ENGINE=INNODB;
CREATE TABLE IF NOT EXISTS RepoTrash (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
repo_id CHAR(36),
repo_name VARCHAR(255),
head_id CHAR(40),
owner_id VARCHAR(255),
size BIGINT(20),
org_id INTEGER,
del_time BIGINT,
UNIQUE INDEX(repo_id),
INDEX(owner_id),
INDEX(org_id)
) ENGINE=INNODB;
CREATE TABLE IF NOT EXISTS RepoUserToken (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
repo_id CHAR(37),
email VARCHAR(255),
token CHAR(41),
UNIQUE INDEX(repo_id, token),
INDEX (email)
) ENGINE=INNODB;
CREATE TABLE IF NOT EXISTS RepoValidSince (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
repo_id CHAR(37),
timestamp BIGINT,
UNIQUE INDEX(repo_id)
) ENGINE=INNODB;
CREATE TABLE IF NOT EXISTS RoleQuota (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
role VARCHAR(255),
quota BIGINT,
UNIQUE INDEX(role)
) ENGINE=INNODB;
CREATE TABLE IF NOT EXISTS SeafileConf (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
cfg_group VARCHAR(255) NOT NULL,
cfg_key VARCHAR(255) NOT NULL,
value VARCHAR(255),
property INTEGER
) ENGINE=INNODB;
CREATE TABLE IF NOT EXISTS SharedRepo (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
repo_id CHAR(37) ,
from_email VARCHAR(255),
to_email VARCHAR(255),
permission CHAR(15),
INDEX (repo_id),
INDEX(from_email),
INDEX(to_email)
) ENGINE=INNODB;
CREATE TABLE IF NOT EXISTS SystemInfo (
id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
info_key VARCHAR(256),
info_value VARCHAR(1024)
);
CREATE TABLE IF NOT EXISTS UserQuota (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
user VARCHAR(255),
quota BIGINT,
UNIQUE INDEX(user)
) ENGINE=INNODB;
CREATE TABLE IF NOT EXISTS UserShareQuota (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
user VARCHAR(255),
quota BIGINT,
UNIQUE INDEX(user)
) ENGINE=INNODB;
CREATE TABLE IF NOT EXISTS VirtualRepo (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
repo_id CHAR(36),
origin_repo CHAR(36),
path TEXT,
base_commit CHAR(40),
UNIQUE INDEX(repo_id),
INDEX(origin_repo)
) ENGINE=INNODB;
CREATE TABLE IF NOT EXISTS WebAP (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
repo_id CHAR(37),
access_property CHAR(10),
UNIQUE INDEX(repo_id)
) ENGINE=INNODB;
CREATE TABLE IF NOT EXISTS WebUploadTempFiles (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
repo_id CHAR(40) NOT NULL,
file_path TEXT NOT NULL,
tmp_file_path TEXT NOT NULL
) ENGINE=INNODB;

View File

@@ -1 +1 @@
CREATE TABLE Config (key TEXT PRIMARY KEY, value TEXT); CREATE TABLE IF NOT EXISTS Config (key TEXT PRIMARY KEY, value TEXT);

View File

@@ -1,9 +1,7 @@
CREATE TABLE `Group` (`group_id` INTEGER PRIMARY KEY AUTOINCREMENT, `group_name` VARCHAR(255), `creator_name` VARCHAR(255), `timestamp` BIGINT, `type` VARCHAR(32), `parent_group_id` INTEGER); CREATE TABLE IF NOT EXISTS `Group` (`group_id` INTEGER PRIMARY KEY AUTOINCREMENT, `group_name` VARCHAR(255), `creator_name` VARCHAR(255), `timestamp` BIGINT, `type` VARCHAR(32), `parent_group_id` INTEGER);
CREATE TABLE IF NOT EXISTS `GroupUser` (`group_id` INTEGER, `user_name` VARCHAR(255), `is_staff` tinyint);
CREATE UNIQUE INDEX IF NOT EXISTS groupid_username_indx on `GroupUser` (`group_id`, `user_name`);
CREATE INDEX IF NOT EXISTS username_indx on `GroupUser` (`user_name`);
CREATE TABLE IF NOT EXISTS GroupDNPair (group_id INTEGER, dn VARCHAR(255));
CREATE TABLE IF NOT EXISTS GroupStructure (group_id INTEGER PRIMARY KEY, path VARCHAR(1024));
CREATE TABLE `GroupUser` (`group_id` INTEGER, `user_name` VARCHAR(255), `is_staff` tinyint);
CREATE UNIQUE INDEX groupid_username_indx on `GroupUser` (`group_id`, `user_name`);
CREATE INDEX username_indx on `GroupUser` (`user_name`);
CREATE TABLE GroupDNPair (group_id INTEGER, dn VARCHAR(255));
CREATE TABLE GroupStructure (group_id INTEGER PRIMARY KEY, path VARCHAR(1024));

View File

@@ -1,10 +1,10 @@
CREATE TABLE OrgGroup (org_id INTEGER, group_id INTEGER); CREATE TABLE IF NOT EXISTS OrgGroup (org_id INTEGER, group_id INTEGER);
CREATE INDEX groupid_indx on OrgGroup (group_id); CREATE INDEX IF NOT EXISTS groupid_indx on OrgGroup (group_id);
CREATE UNIQUE INDEX org_group_indx on OrgGroup (org_id, group_id);
CREATE TABLE Organization (org_id INTEGER PRIMARY KEY AUTOINCREMENT, org_name VARCHAR(255), url_prefix VARCHAR(255), creator VARCHAR(255), ctime BIGINT);
CREATE UNIQUE INDEX url_prefix_indx on Organization (url_prefix);
CREATE TABLE OrgUser (org_id INTEGER, email TEXT, is_staff bool NOT NULL); CREATE TABLE IF NOT EXISTS Organization (org_id INTEGER PRIMARY KEY AUTOINCREMENT, org_name VARCHAR(255), url_prefix VARCHAR(255), creator VARCHAR(255), ctime BIGINT);
CREATE INDEX email_indx on OrgUser (email); CREATE UNIQUE INDEX IF NOT EXISTS url_prefix_indx on Organization (url_prefix);
CREATE UNIQUE INDEX orgid_email_indx on OrgUser (org_id, email);
CREATE TABLE IF NOT EXISTS OrgUser (org_id INTEGER, email TEXT, is_staff bool NOT NULL);
CREATE INDEX IF NOT EXISTS email_indx on OrgUser (email);
CREATE UNIQUE INDEX IF NOT EXISTS orgid_email_indx on OrgUser (org_id, email);

View File

@@ -1,61 +1,65 @@
CREATE TABLE Branch (name VARCHAR(10), repo_id CHAR(41), commit_id CHAR(41),PRIMARY KEY (repo_id, name)); CREATE TABLE IF NOT EXISTS Branch (name VARCHAR(10), repo_id CHAR(40), commit_id CHAR(40), PRIMARY KEY (repo_id, name));
CREATE TABLE IF NOT EXISTS Repo (repo_id CHAR(37) PRIMARY KEY);
CREATE TABLE IF NOT EXISTS RepoOwner (repo_id CHAR(37) PRIMARY KEY, owner_id TEXT);
CREATE INDEX IF NOT EXISTS OwnerIndex ON RepoOwner (owner_id);
CREATE TABLE Repo (repo_id CHAR(37) PRIMARY KEY); CREATE TABLE IF NOT EXISTS RepoGroup (repo_id CHAR(37), group_id INTEGER, user_name TEXT, permission CHAR(15));
CREATE UNIQUE INDEX IF NOT EXISTS groupid_repoid_indx on RepoGroup (group_id, repo_id);
CREATE INDEX IF NOT EXISTS repogroup_repoid_index on RepoGroup (repo_id);
CREATE INDEX IF NOT EXISTS repogroup_username_indx on RepoGroup (user_name);
CREATE TABLE IF NOT EXISTS InnerPubRepo (repo_id CHAR(37) PRIMARY KEY, permission CHAR(15));
CREATE TABLE RepoOwner (repo_id CHAR(37) PRIMARY KEY, owner_id TEXT); CREATE TABLE IF NOT EXISTS OrgRepo (org_id INTEGER, repo_id CHAR(37), user VARCHAR(255));
CREATE INDEX OwnerIndex ON RepoOwner (owner_id); CREATE UNIQUE INDEX IF NOT EXISTS repoid_indx on OrgRepo (repo_id);
CREATE INDEX IF NOT EXISTS orgid_repoid_indx on OrgRepo (org_id, repo_id);
CREATE TABLE RepoGroup (repo_id CHAR(37), group_id INTEGER, user_name TEXT, permission CHAR(15)); CREATE INDEX IF NOT EXISTS orgrepo_orgid_user_indx on OrgRepo (org_id, user);
CREATE UNIQUE INDEX groupid_repoid_indx on RepoGroup (group_id, repo_id); CREATE INDEX IF NOT EXISTS orgrepo_user_indx on OrgRepo (user);
CREATE INDEX repogroup_repoid_index on RepoGroup (repo_id); CREATE TABLE IF NOT EXISTS OrgGroupRepo (org_id INTEGER, repo_id CHAR(37), group_id INTEGER, owner VARCHAR(255), permission CHAR(15));
CREATE INDEX repogroup_username_indx on RepoGroup (user_name); CREATE UNIQUE INDEX IF NOT EXISTS orgid_groupid_repoid_indx on OrgGroupRepo (org_id, group_id, repo_id);
CREATE INDEX IF NOT EXISTS org_repoid_index on OrgGroupRepo (repo_id);
CREATE TABLE InnerPubRepo (repo_id CHAR(37) PRIMARY KEY,permission CHAR(15)); CREATE INDEX IF NOT EXISTS org_owner_indx on OrgGroupRepo (owner);
CREATE TABLE IF NOT EXISTS OrgInnerPubRepo (org_id INTEGER, repo_id CHAR(37), permission CHAR(15), PRIMARY KEY (org_id, repo_id));
CREATE TABLE RepoUserToken (repo_id CHAR(37), email VARCHAR(255), token CHAR(41)); CREATE TABLE IF NOT EXISTS RepoUserToken (repo_id CHAR(37), email VARCHAR(255), token CHAR(41));
CREATE UNIQUE INDEX repo_token_indx on RepoUserToken (repo_id, token); CREATE UNIQUE INDEX IF NOT EXISTS repo_token_indx on RepoUserToken (repo_id, token);
CREATE INDEX repo_token_email_indx on RepoUserToken (email); CREATE INDEX IF NOT EXISTS repo_token_email_indx on RepoUserToken (email);
CREATE TABLE IF NOT EXISTS RepoTokenPeerInfo (token CHAR(41) PRIMARY KEY, peer_id CHAR(41), peer_ip VARCHAR(41), peer_name VARCHAR(255), sync_time BIGINT, client_ver VARCHAR(20));
CREATE TABLE RepoTokenPeerInfo (token CHAR(41) PRIMARY KEY, peer_id CHAR(41), peer_ip VARCHAR(41), peer_name VARCHAR(255), sync_time BIGINT, client_ver VARCHAR(20)); CREATE TABLE IF NOT EXISTS RepoSyncError (token CHAR(41) PRIMARY KEY, error_time BIGINT, error_con VARCHAR(1024));
CREATE TABLE IF NOT EXISTS RepoHead (repo_id CHAR(37) PRIMARY KEY, branch_name VARCHAR(10));
CREATE TABLE RepoHead (repo_id CHAR(37) PRIMARY KEY, branch_name VARCHAR(10)); CREATE TABLE IF NOT EXISTS RepoSize (repo_id CHAR(37) PRIMARY KEY, size BIGINT UNSIGNED, head_id CHAR(41));
CREATE TABLE IF NOT EXISTS RepoHistoryLimit (repo_id CHAR(37) PRIMARY KEY, days INTEGER);
CREATE TABLE RepoSize (repo_id CHAR(37) PRIMARY KEY,size BIGINT UNSIGNED,head_id CHAR(41)); CREATE TABLE IF NOT EXISTS RepoValidSince (repo_id CHAR(37) PRIMARY KEY, timestamp BIGINT);
CREATE TABLE IF NOT EXISTS WebAP (repo_id CHAR(37) PRIMARY KEY, access_property CHAR(10));
CREATE TABLE RepoHistoryLimit (repo_id CHAR(37) PRIMARY KEY, days INTEGER); CREATE TABLE IF NOT EXISTS VirtualRepo (repo_id CHAR(36) PRIMARY KEY, origin_repo CHAR(36), path TEXT, base_commit CHAR(40));
CREATE INDEX IF NOT EXISTS virtualrepo_origin_repo_idx ON VirtualRepo (origin_repo);
CREATE TABLE RepoValidSince (repo_id CHAR(37) PRIMARY KEY, timestamp BIGINT); CREATE TABLE IF NOT EXISTS GarbageRepos (repo_id CHAR(36) PRIMARY KEY);
CREATE TABLE IF NOT EXISTS RepoTrash (repo_id CHAR(36) PRIMARY KEY, repo_name VARCHAR(255), head_id CHAR(40), owner_id VARCHAR(255), size BIGINT UNSIGNED, org_id INTEGER, del_time BIGINT);
CREATE TABLE WebAP (repo_id CHAR(37) PRIMARY KEY, access_property CHAR(10)); CREATE INDEX IF NOT EXISTS repotrash_owner_id_idx ON RepoTrash(owner_id);
CREATE INDEX IF NOT EXISTS repotrash_org_id_idx ON RepoTrash(org_id);
CREATE TABLE VirtualRepo (repo_id CHAR(36) PRIMARY KEY,origin_repo CHAR(36), path TEXT, base_commit CHAR(40)); CREATE TABLE IF NOT EXISTS RepoFileCount (repo_id CHAR(36) PRIMARY KEY, file_count BIGINT UNSIGNED);
CREATE INDEX virtualrepo_origin_repo_idx ON VirtualRepo (origin_repo); CREATE TABLE IF NOT EXISTS FolderUserPerm (repo_id CHAR(36) NOT NULL, path TEXT NOT NULL, permission CHAR(15), user VARCHAR(255) NOT NULL);
CREATE INDEX IF NOT EXISTS folder_user_perm_idx ON FolderUserPerm(repo_id);
CREATE TABLE GarbageRepos (repo_id CHAR(36) PRIMARY KEY); CREATE TABLE IF NOT EXISTS FolderGroupPerm (repo_id CHAR(36) NOT NULL, path TEXT NOT NULL, permission CHAR(15), group_id INTEGER NOT NULL);
CREATE INDEX IF NOT EXISTS folder_group_perm_idx ON FolderGroupPerm(repo_id);
CREATE TABLE RepoTrash (repo_id CHAR(36) PRIMARY KEY,repo_name VARCHAR(255), head_id CHAR(40), owner_id VARCHAR(255), size BIGINT UNSIGNED,org_id INTEGER, del_time BIGINT); CREATE TABLE IF NOT EXISTS FolderPermTimestamp (repo_id CHAR(36) PRIMARY KEY, timestamp INTEGER);
CREATE INDEX repotrash_owner_id_idx ON RepoTrash(owner_id); CREATE TABLE IF NOT EXISTS WebUploadTempFiles (repo_id CHAR(40) NOT NULL, file_path TEXT NOT NULL, tmp_file_path TEXT NOT NULL);
CREATE INDEX repotrash_org_id_idx ON RepoTrash(org_id); CREATE TABLE IF NOT EXISTS RepoInfo (repo_id CHAR(36) PRIMARY KEY, name VARCHAR(255) NOT NULL, update_time INTEGER, version INTEGER, is_encrypted INTEGER, last_modifier VARCHAR(255), status INTEGER DEFAULT 0);
CREATE TABLE IF NOT EXISTS RepoStorageId (repo_id CHAR(40) NOT NULL, storage_id VARCHAR(255) NOT NULL);
CREATE TABLE RepoFileCount (repo_id CHAR(36) PRIMARY KEY,file_count BIGINT UNSIGNED); CREATE TABLE IF NOT EXISTS UserQuota (user VARCHAR(255) PRIMARY KEY, quota BIGINT);
CREATE TABLE IF NOT EXISTS UserShareQuota (user VARCHAR(255) PRIMARY KEY, quota BIGINT);
CREATE TABLE RepoInfo (repo_id CHAR(36) PRIMARY KEY, name VARCHAR(255) NOT NULL, update_time INTEGER, version INTEGER, is_encrypted INTEGER, last_modifier VARCHAR(255), status INTEGER DEFAULT 0); CREATE TABLE IF NOT EXISTS OrgQuota (org_id INTEGER PRIMARY KEY, quota BIGINT);
CREATE TABLE IF NOT EXISTS OrgUserQuota (org_id INTEGER, user VARCHAR(255), quota BIGINT, PRIMARY KEY (org_id, user));
CREATE TABLE UserQuota (user VARCHAR(255) PRIMARY KEY,quota BIGINT); CREATE TABLE IF NOT EXISTS RoleQuota (role VARCHAR(255) PRIMARY KEY, quota BIGINT);
CREATE TABLE IF NOT EXISTS SeafileConf (cfg_group VARCHAR(255) NOT NULL, cfg_key VARCHAR(255) NOT NULL, value VARCHAR(255), property INTEGER);
CREATE TABLE UserShareQuota (user VARCHAR(255) PRIMARY KEY,quota BIGINT); CREATE TABLE IF NOT EXISTS FileLocks (repo_id CHAR(40) NOT NULL, path TEXT NOT NULL, user_name VARCHAR(255) NOT NULL, lock_time BIGINT, expire BIGINT);
CREATE INDEX IF NOT EXISTS FileLocksIndex ON FileLocks (repo_id);
CREATE TABLE OrgQuota (org_id INTEGER PRIMARY KEY,quota BIGINT); CREATE TABLE IF NOT EXISTS FileLockTimestamp (repo_id CHAR(40) PRIMARY KEY, update_time BIGINT NOT NULL);
CREATE TABLE IF NOT EXISTS SharedRepo (repo_id CHAR(37) , from_email VARCHAR(255), to_email VARCHAR(255), permission CHAR(15));
CREATE TABLE OrgUserQuota (org_id INTEGER,user VARCHAR(255), quota BIGINT, PRIMARY KEY (org_id, user)); CREATE INDEX IF NOT EXISTS RepoIdIndex on SharedRepo (repo_id);
CREATE INDEX IF NOT EXISTS FromEmailIndex on SharedRepo (from_email);
CREATE TABLE SeafileConf (cfg_group VARCHAR(255) NOT NULL,cfg_key VARCHAR(255) NOT NULL, value VARCHAR(255), property INTEGER); CREATE INDEX IF NOT EXISTS ToEmailIndex on SharedRepo (to_email);
CREATE TABLE IF NOT EXISTS OrgSharedRepo (org_id INTEGER, repo_id CHAR(37) , from_email VARCHAR(255), to_email VARCHAR(255), permission CHAR(15));
CREATE TABLE SharedRepo (repo_id CHAR(37) , from_email VARCHAR(255), to_email VARCHAR(255), permission CHAR(15)); CREATE INDEX IF NOT EXISTS OrgRepoIdIndex on OrgSharedRepo (org_id, repo_id);
CREATE INDEX RepoIdIndex on SharedRepo (repo_id); CREATE INDEX IF NOT EXISTS OrgFromEmailIndex on OrgSharedRepo (from_email);
CREATE INDEX FromEmailIndex on SharedRepo (from_email); CREATE INDEX IF NOT EXISTS OrgToEmailIndex on OrgSharedRepo (to_email);
CREATE INDEX ToEmailIndex on SharedRepo (to_email); CREATE INDEX IF NOT EXISTS OrgLibIdIndex on OrgSharedRepo (repo_id);
CREATE TABLE IF NOT EXISTS SystemInfo (info_key VARCHAR(256), info_value VARCHAR(1024));
CREATE TABLE SystemInfo( info_key VARCHAR(256), info_value VARCHAR(1024));
CREATE TABLE WebUploadTempFiles (repo_id CHAR(40) NOT NULL, file_path TEXT NOT NULL, tmp_file_path TEXT NOT NULL);

View File

@@ -1,16 +1,16 @@
CREATE TABLE Binding (email TEXT, peer_id TEXT); CREATE TABLE IF NOT EXISTS Binding (email TEXT, peer_id TEXT);
CREATE UNIQUE INDEX peer_index on Binding (peer_id); CREATE UNIQUE INDEX IF NOT EXISTS peer_index on Binding (peer_id);
CREATE TABLE EmailUser (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,email TEXT, passwd TEXT, is_staff bool NOT NULL, is_active bool NOT NULL, ctime INTEGER, reference_id TEXT); CREATE TABLE IF NOT EXISTS EmailUser (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, email TEXT, passwd TEXT, is_staff bool NOT NULL, is_active bool NOT NULL, ctime INTEGER, reference_id TEXT);
CREATE UNIQUE INDEX email_index on EmailUser (email); CREATE UNIQUE INDEX IF NOT EXISTS email_index on EmailUser (email);
CREATE UNIQUE INDEX reference_id_index on EmailUser (reference_id); CREATE UNIQUE INDEX IF NOT EXISTS reference_id_index on EmailUser (reference_id);
CREATE TABLE LDAPConfig (cfg_group VARCHAR(255) NOT NULL,cfg_key VARCHAR(255) NOT NULL, value VARCHAR(255), property INTEGER); CREATE TABLE IF NOT EXISTS LDAPConfig (cfg_group VARCHAR(255) NOT NULL, cfg_key VARCHAR(255) NOT NULL, value VARCHAR(255), property INTEGER);
CREATE TABLE LDAPUsers (id INTEGER PRIMARY KEY AUTOINCREMENT, email TEXT NOT NULL, password TEXT NOT NULL, is_staff BOOL NOT NULL, is_active BOOL NOT NULL, extra_attrs TEXT, reference_id TEXT); CREATE TABLE IF NOT EXISTS LDAPUsers (id INTEGER PRIMARY KEY AUTOINCREMENT, email TEXT NOT NULL, password TEXT NOT NULL, is_staff BOOL NOT NULL, is_active BOOL NOT NULL, extra_attrs TEXT, reference_id TEXT);
CREATE UNIQUE INDEX ldapusers_email_index on LDAPUsers(email); CREATE UNIQUE INDEX IF NOT EXISTS ldapusers_email_index on LDAPUsers(email);
CREATE UNIQUE INDEX ldapusers_reference_id_index on LDAPUsers(reference_id); CREATE UNIQUE INDEX IF NOT EXISTS ldapusers_reference_id_index on LDAPUsers(reference_id);
CREATE TABLE UserRole (email TEXT, role TEXT); CREATE TABLE IF NOT EXISTS UserRole (email TEXT, role TEXT, is_manual_set INTEGER DEFAULT 0);
CREATE INDEX userrole_email_index on UserRole (email); CREATE INDEX IF NOT EXISTS userrole_email_index on UserRole (email);
CREATE UNIQUE INDEX userrole_userrole_index on UserRole (email, role); CREATE UNIQUE INDEX IF NOT EXISTS userrole_userrole_index on UserRole (email, role);