diff --git a/scripts/upgrade/sql/12.0.0/mysql/seafevents.sql b/scripts/upgrade/sql/12.0.0/mysql/seafevents.sql new file mode 100644 index 0000000000..6bbd1e11a6 --- /dev/null +++ b/scripts/upgrade/sql/12.0.0/mysql/seafevents.sql @@ -0,0 +1,10 @@ +ALTER TABLE UserActivity DROP FOREIGN KEY `UserActivity_ibfk_1`; +ALTER TABLE Activity CHANGE id id BIGINT(20) AUTO_INCREMENT; +ALTER TABLE UserActivity CHANGE id id BIGINT(20) AUTO_INCREMENT; +ALTER TABLE UserActivity CHANGE activity_id activity_id BIGINT(20); +ALTER TABLE UserActivity ADD CONSTRAINT `UserActivity_ibfk_1` FOREIGN KEY (`activity_id`) REFERENCES `Activity` (`id`) ON DELETE CASCADE; + +ALTER TABLE FileHistory CHANGE id id BIGINT(20) AUTO_INCREMENT; +ALTER TABLE FileAudit CHANGE eid eid BIGINT(20) AUTO_INCREMENT; +ALTER TABLE FileUpdate CHANGE eid eid BIGINT(20) AUTO_INCREMENT; +ALTER TABLE PermAudit CHANGE eid eid BIGINT(20) AUTO_INCREMENT; diff --git a/scripts/upgrade/sql/12.0.0/mysql/seafile.sql b/scripts/upgrade/sql/12.0.0/mysql/seafile.sql new file mode 100644 index 0000000000..d4afd18474 --- /dev/null +++ b/scripts/upgrade/sql/12.0.0/mysql/seafile.sql @@ -0,0 +1,22 @@ +CREATE TABLE IF NOT EXISTS OrgUserDefaultQuota ( + id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT, + org_id INTEGER, + quota BIGINT, UNIQUE INDEX(org_id) +) ENGINE=INNODB; + +CREATE TABLE IF NOT EXISTS OrgDownloadRateLimit ( + id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT, + org_id INTEGER, + download_limit BIGINT, + UNIQUE INDEX(org_id) +) ENGINE=INNODB; + +CREATE TABLE IF NOT EXISTS OrgUploadRateLimit ( + id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT, + org_id INTEGER, + upload_limit BIGINT, + UNIQUE INDEX(org_id) +) ENGINE=INNODB; + +ALTER TABLE RepoInfo ADD COLUMN IF NOT EXISTS type varchar(10); +CREATE INDEX IF NOT EXISTS RepoInfoTypeIndex on RepoInfo (type); diff --git a/scripts/upgrade/sql/12.0.0/mysql/seahub.sql b/scripts/upgrade/sql/12.0.0/mysql/seahub.sql new file mode 100644 index 0000000000..146198e22f --- /dev/null +++ b/scripts/upgrade/sql/12.0.0/mysql/seahub.sql @@ -0,0 +1,77 @@ +CREATE TABLE IF NOT EXISTS `wiki_wiki2` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `owner` varchar(255) NOT NULL, + `name` varchar(255) NOT NULL, + `repo_id` varchar(36) NOT NULL, + `created_at` datetime(6) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `wiki_owner_repo_id_4c8925af_uniq`(`owner`, `repo_id`), + KEY `wiki_wiki_created_at_54930e36`(`created_at`), + KEY `wiki_wiki_repo_id_2ee93c31`(`repo_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +CREATE TABLE IF NOT EXISTS `WikiPageTrash` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `repo_id` varchar(36) NOT NULL, + `doc_uuid` text NOT NULL, + `page_id` varchar(4) NOT NULL, + `parent_page_id` varchar(4) default NULL, + `subpages` longtext, + `name` varchar(255) NOT NULL, + `delete_time` datetime NOT NULL, + `size` bigint(20) NOT NULL, + PRIMARY KEY (`id`), + KEY `ix_WikiPageTrash_repo_id` (`repo_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +CREATE TABLE IF NOT EXISTS `FileTrash` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `user` varchar(255) NOT NULL, + `obj_type` varchar(10) NOT NULL, + `obj_id` varchar(40) NOT NULL, + `obj_name` varchar(255) NOT NULL, + `delete_time` datetime NOT NULL, + `repo_id` varchar(36) NOT NULL, + `commit_id` varchar(40) DEFAULT NULL, + `path` text NOT NULL, + `size` bigint(20) NOT NULL, + PRIMARY KEY (`id`), + KEY `ix_FileTrash_repo_id` (`repo_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +CREATE TABLE IF NOT EXISTS `repo_metadata` ( + `id` INT(11) NOT NULL AUTO_INCREMENT, + `repo_id` VARCHAR(36) NOT NULL, + `enabled` TINYINT(1) NOT NULL, + `modified_time` DATETIME NOT NULL, + `created_time` DATETIME NOT NULL, + `from_commit` varchar(40) NULL, + `to_commit` varchar(40) NULL, + UNIQUE KEY `key_repo_metadata_repo_id`(`repo_id`), + KEY `key_repo_metadata_enabled`(`enabled`), + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +CREATE TABLE IF NOT EXISTS `repo_metadata_view` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `repo_id` varchar(36) NOT NULL, + `details` longtext NOT NULL, + PRIMARY KEY (`id`), + KEY `idx_repo_meatadata_view_repo_id` (`repo_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +CREATE TABLE IF NOT EXISTS `sdoc_operation_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `doc_uuid` varchar(36) NOT NULL, + `op_id` bigint(20) NOT NULL, + `op_time` bigint(20) NOT NULL, + `operations` longtext NOT NULL, + `author` varchar(255) NOT NULL, + PRIMARY KEY (`id`), + KEY `sdoc_operation_log_op_time` (`op_time`), + KEY `sdoc_operation_log_doc_uuid` (`doc_uuid`), + KEY `sdoc_idx_operation_log_doc_uuid_op_id` (`doc_uuid`,`op_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +ALTER TABLE share_fileshare ADD COLUMN IF NOT EXISTS `user_scope` varchar(225) DEFAULT 'all_users'; +ALTER TABLE share_fileshare ADD COLUMN IF NOT EXISTS `authed_details` LONGTEXT DEFAULT NULL; diff --git a/sql/mysql.sql b/sql/mysql.sql index 9fb97b13f5..d32ac4aa85 100644 --- a/sql/mysql.sql +++ b/sql/mysql.sql @@ -947,6 +947,8 @@ CREATE TABLE `share_fileshare` ( `password` varchar(128) DEFAULT NULL, `expire_date` datetime DEFAULT NULL, `permission` varchar(50) NOT NULL, + `authed_details` longtext DEFAULT NULL, + `user_scope` varchar(225) DEFAULT 'all_users', PRIMARY KEY (`id`), UNIQUE KEY `token` (`token`), KEY `share_fileshare_username_5cb6de75` (`username`), @@ -1257,7 +1259,7 @@ CREATE TABLE `ocm_share` ( KEY `ocm_share_repo_id_51937581` (`repo_id`) ) ENGINE = InnoDB DEFAULT CHARSET=utf8; -CREATE TABLE IF NOT EXISTS `ocm_share_received` ( +CREATE TABLE `ocm_share_received` ( `id` int(11) NOT NULL AUTO_INCREMENT, `shared_secret` varchar(36) NOT NULL, `from_user` varchar(255) NOT NULL, @@ -1480,7 +1482,7 @@ CREATE TABLE `base_clientssotoken` ( KEY `base_clientssotoken_accessed_at_cdc66bf3` (`accessed_at`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -CREATE TABLE IF NOT EXISTS `FileTrash` ( +CREATE TABLE `FileTrash` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user` varchar(255) NOT NULL, `obj_type` varchar(10) NOT NULL, @@ -1509,3 +1511,48 @@ CREATE TABLE `WikiPageTrash` ( KEY `ix_WikiPageTrash_repo_id` (`repo_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; +CREATE TABLE `wiki_wiki2` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `owner` varchar(255) NOT NULL, + `name` varchar(255) NOT NULL, + `repo_id` varchar(36) NOT NULL, + `created_at` datetime(6) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `wiki_owner_repo_id_4c8925af_uniq`(`owner`, `repo_id`), + KEY `wiki_wiki_created_at_54930e36`(`created_at`), + KEY `wiki_wiki_repo_id_2ee93c31`(`repo_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +CREATE TABLE `repo_metadata` ( + `id` INT(11) NOT NULL AUTO_INCREMENT, + `repo_id` VARCHAR(36) NOT NULL, + `enabled` TINYINT(1) NOT NULL, + `modified_time` DATETIME NOT NULL, + `created_time` DATETIME NOT NULL, + `from_commit` varchar(40) NULL, + `to_commit` varchar(40) NULL, + UNIQUE KEY `key_repo_metadata_repo_id`(`repo_id`), + KEY `key_repo_metadata_enabled`(`enabled`), + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +CREATE TABLE `repo_metadata_view` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `repo_id` varchar(36) NOT NULL, + `details` longtext NOT NULL, + PRIMARY KEY (`id`), + KEY `idx_repo_meatadata_view_repo_id` (`repo_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +CREATE TABLE `sdoc_operation_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `doc_uuid` varchar(36) NOT NULL, + `op_id` bigint(20) NOT NULL, + `op_time` bigint(20) NOT NULL, + `operations` longtext NOT NULL, + `author` varchar(255) NOT NULL, + PRIMARY KEY (`id`), + KEY `sdoc_operation_log_op_time` (`op_time`), + KEY `sdoc_operation_log_doc_uuid` (`doc_uuid`), + KEY `sdoc_idx_operation_log_doc_uuid_op_id` (`doc_uuid`,`op_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;