248 lines
8.8 KiB
SQL
248 lines
8.8 KiB
SQL
-- CreateTable
|
|
CREATE TABLE `sys_tenant` (
|
|
`id` VARCHAR(36) NOT NULL,
|
|
`code` VARCHAR(64) NOT NULL,
|
|
`name` VARCHAR(128) NOT NULL,
|
|
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
|
`remark` VARCHAR(255) NULL,
|
|
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`created_by` VARCHAR(36) NULL,
|
|
`updated_at` DATETIME(3) NOT NULL,
|
|
|
|
UNIQUE INDEX `sys_tenant_code_key`(`code`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `sys_user` (
|
|
`id` VARCHAR(36) NOT NULL,
|
|
`tenant_code` VARCHAR(64) NOT NULL,
|
|
`username` VARCHAR(64) NOT NULL,
|
|
`password_hash` VARCHAR(255) NOT NULL,
|
|
`nickname` VARCHAR(64) NULL,
|
|
`email` VARCHAR(128) NULL,
|
|
`phone` VARCHAR(32) NULL,
|
|
`avatar` VARCHAR(255) NULL,
|
|
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
|
`org_code` VARCHAR(64) NULL,
|
|
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`created_by` VARCHAR(36) NULL,
|
|
`updated_at` DATETIME(3) NOT NULL,
|
|
`deleted_at` DATETIME(3) NULL,
|
|
|
|
INDEX `sys_user_tenant_code_idx`(`tenant_code`),
|
|
INDEX `sys_user_org_code_idx`(`org_code`),
|
|
UNIQUE INDEX `sys_user_tenant_code_username_key`(`tenant_code`, `username`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `sys_role` (
|
|
`id` VARCHAR(36) NOT NULL,
|
|
`tenant_code` VARCHAR(64) NOT NULL,
|
|
`code` VARCHAR(64) NOT NULL,
|
|
`name` VARCHAR(64) NOT NULL,
|
|
`data_scope` VARCHAR(16) NOT NULL DEFAULT 'all',
|
|
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
|
`remark` VARCHAR(255) NULL,
|
|
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`created_by` VARCHAR(36) NULL,
|
|
`updated_at` DATETIME(3) NOT NULL,
|
|
`deleted_at` DATETIME(3) NULL,
|
|
|
|
INDEX `sys_role_tenant_code_idx`(`tenant_code`),
|
|
UNIQUE INDEX `sys_role_tenant_code_code_key`(`tenant_code`, `code`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `sys_resource` (
|
|
`id` VARCHAR(36) NOT NULL,
|
|
`tenant_code` VARCHAR(64) NOT NULL,
|
|
`parent_code` VARCHAR(64) NULL,
|
|
`type` VARCHAR(16) NOT NULL,
|
|
`code` VARCHAR(128) NOT NULL,
|
|
`name` VARCHAR(64) NOT NULL,
|
|
`path` VARCHAR(255) NULL,
|
|
`component` VARCHAR(255) NULL,
|
|
`method` VARCHAR(8) NULL,
|
|
`api_path` VARCHAR(255) NULL,
|
|
`icon` VARCHAR(64) NULL,
|
|
`sort` INTEGER NOT NULL DEFAULT 0,
|
|
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
|
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`created_by` VARCHAR(36) NULL,
|
|
`updated_at` DATETIME(3) NOT NULL,
|
|
`deleted_at` DATETIME(3) NULL,
|
|
|
|
INDEX `sys_resource_tenant_code_idx`(`tenant_code`),
|
|
INDEX `sys_resource_parent_code_idx`(`parent_code`),
|
|
UNIQUE INDEX `sys_resource_tenant_code_code_key`(`tenant_code`, `code`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `sys_org` (
|
|
`id` VARCHAR(36) NOT NULL,
|
|
`tenant_code` VARCHAR(64) NOT NULL,
|
|
`parent_code` VARCHAR(64) NULL,
|
|
`code` VARCHAR(64) NOT NULL,
|
|
`name` VARCHAR(64) NOT NULL,
|
|
`leader` VARCHAR(64) NULL,
|
|
`sort` INTEGER NOT NULL DEFAULT 0,
|
|
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
|
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`created_by` VARCHAR(36) NULL,
|
|
`updated_at` DATETIME(3) NOT NULL,
|
|
`deleted_at` DATETIME(3) NULL,
|
|
|
|
INDEX `sys_org_tenant_code_idx`(`tenant_code`),
|
|
INDEX `sys_org_parent_code_idx`(`parent_code`),
|
|
UNIQUE INDEX `sys_org_tenant_code_code_key`(`tenant_code`, `code`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `sys_dict_type` (
|
|
`id` VARCHAR(36) NOT NULL,
|
|
`tenant_code` VARCHAR(64) NOT NULL,
|
|
`code` VARCHAR(64) NOT NULL,
|
|
`name` VARCHAR(64) NOT NULL,
|
|
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
|
`remark` VARCHAR(255) NULL,
|
|
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`created_by` VARCHAR(36) NULL,
|
|
`updated_at` DATETIME(3) NOT NULL,
|
|
`deleted_at` DATETIME(3) NULL,
|
|
|
|
INDEX `sys_dict_type_tenant_code_idx`(`tenant_code`),
|
|
UNIQUE INDEX `sys_dict_type_tenant_code_code_key`(`tenant_code`, `code`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `sys_dict_item` (
|
|
`id` VARCHAR(36) NOT NULL,
|
|
`tenant_code` VARCHAR(64) NOT NULL,
|
|
`dict_type_code` VARCHAR(64) NOT NULL,
|
|
`label` VARCHAR(64) NOT NULL,
|
|
`value` VARCHAR(64) NOT NULL,
|
|
`sort` INTEGER NOT NULL DEFAULT 0,
|
|
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
|
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`created_by` VARCHAR(36) NULL,
|
|
`updated_at` DATETIME(3) NOT NULL,
|
|
`deleted_at` DATETIME(3) NULL,
|
|
|
|
INDEX `sys_dict_item_tenant_code_dict_type_code_idx`(`tenant_code`, `dict_type_code`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `sys_config` (
|
|
`id` VARCHAR(36) NOT NULL,
|
|
`tenant_code` VARCHAR(64) NOT NULL,
|
|
`key` VARCHAR(128) NOT NULL,
|
|
`value` TEXT NULL,
|
|
`remark` VARCHAR(255) NULL,
|
|
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`created_by` VARCHAR(36) NULL,
|
|
`updated_at` DATETIME(3) NOT NULL,
|
|
`deleted_at` DATETIME(3) NULL,
|
|
|
|
UNIQUE INDEX `sys_config_tenant_code_key_key`(`tenant_code`, `key`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `sys_audit_log` (
|
|
`id` VARCHAR(36) NOT NULL,
|
|
`tenant_code` VARCHAR(64) NOT NULL,
|
|
`user_id` VARCHAR(36) NULL,
|
|
`username` VARCHAR(64) NULL,
|
|
`module` VARCHAR(64) NULL,
|
|
`action` VARCHAR(64) NULL,
|
|
`method` VARCHAR(8) NULL,
|
|
`path` VARCHAR(255) NULL,
|
|
`params` TEXT NULL,
|
|
`result` TEXT NULL,
|
|
`status` VARCHAR(16) NULL,
|
|
`error_message` TEXT NULL,
|
|
`ip` VARCHAR(64) NULL,
|
|
`user_agent` VARCHAR(255) NULL,
|
|
`duration_ms` INTEGER NULL,
|
|
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
|
|
INDEX `sys_audit_log_tenant_code_created_at_idx`(`tenant_code`, `created_at`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `sys_login_log` (
|
|
`id` VARCHAR(36) NOT NULL,
|
|
`tenant_code` VARCHAR(64) NOT NULL,
|
|
`username` VARCHAR(64) NULL,
|
|
`ip` VARCHAR(64) NULL,
|
|
`user_agent` VARCHAR(255) NULL,
|
|
`status` VARCHAR(16) NOT NULL DEFAULT 'success',
|
|
`message` VARCHAR(255) NULL,
|
|
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
|
|
INDEX `sys_login_log_tenant_code_created_at_idx`(`tenant_code`, `created_at`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `sys_refresh_token` (
|
|
`id` VARCHAR(36) NOT NULL,
|
|
`tenant_code` VARCHAR(64) NOT NULL,
|
|
`user_id` VARCHAR(36) NOT NULL,
|
|
`jti` VARCHAR(64) NOT NULL,
|
|
`token_hash` VARCHAR(255) NOT NULL,
|
|
`ip` VARCHAR(64) NULL,
|
|
`user_agent` VARCHAR(255) NULL,
|
|
`login_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`expire_at` DATETIME(3) NOT NULL,
|
|
`revoked_at` DATETIME(3) NULL,
|
|
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
|
|
UNIQUE INDEX `sys_refresh_token_jti_key`(`jti`),
|
|
INDEX `sys_refresh_token_tenant_code_user_id_idx`(`tenant_code`, `user_id`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `sys_user_role` (
|
|
`id` VARCHAR(36) NOT NULL,
|
|
`tenant_code` VARCHAR(64) NOT NULL,
|
|
`user_id` VARCHAR(36) NOT NULL,
|
|
`role_code` VARCHAR(64) NOT NULL,
|
|
|
|
INDEX `sys_user_role_tenant_code_user_id_idx`(`tenant_code`, `user_id`),
|
|
UNIQUE INDEX `sys_user_role_tenant_code_user_id_role_code_key`(`tenant_code`, `user_id`, `role_code`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `sys_role_resource` (
|
|
`id` VARCHAR(36) NOT NULL,
|
|
`tenant_code` VARCHAR(64) NOT NULL,
|
|
`role_code` VARCHAR(64) NOT NULL,
|
|
`resource_code` VARCHAR(128) NOT NULL,
|
|
|
|
INDEX `sys_role_resource_tenant_code_role_code_idx`(`tenant_code`, `role_code`),
|
|
UNIQUE INDEX `sys_role_resource_tenant_code_role_code_resource_code_key`(`tenant_code`, `role_code`, `resource_code`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `sys_role_org` (
|
|
`id` VARCHAR(36) NOT NULL,
|
|
`tenant_code` VARCHAR(64) NOT NULL,
|
|
`role_code` VARCHAR(64) NOT NULL,
|
|
`org_code` VARCHAR(64) NOT NULL,
|
|
|
|
UNIQUE INDEX `sys_role_org_tenant_code_role_code_org_code_key`(`tenant_code`, `role_code`, `org_code`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|