-- 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;