120 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			120 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # 租户表数据库创建说明
 | ||
| 
 | ||
| ## 创建步骤
 | ||
| 
 | ||
| ### 方法1:执行独立的 SQL 文件(推荐)
 | ||
| ```bash
 | ||
| # 在 MySQL 中执行
 | ||
| mysql -u root -p your_database < server/database/yz_tenants.sql
 | ||
| ```
 | ||
| 
 | ||
| ### 方法2:手动执行 SQL
 | ||
| ```sql
 | ||
| -- 1. 进入 MySQL
 | ||
| mysql -u root -p your_database
 | ||
| 
 | ||
| -- 2. 执行 SQL 脚本
 | ||
| SOURCE server/database/yz_tenants.sql;
 | ||
| ```
 | ||
| 
 | ||
| ### 方法3:在 MySQL 客户端中复制粘贴
 | ||
| 直接打开 `server/database/yz_tenants.sql` 文件,复制所有内容,在 MySQL 客户端中执行。
 | ||
| 
 | ||
| ## 创建的表
 | ||
| 
 | ||
| **yz_tenants** - 租户管理表
 | ||
| 
 | ||
| ### 表结构说明
 | ||
| 
 | ||
| #### 基本信息字段
 | ||
| - `id` - 租户ID(主键,自增)
 | ||
| - `name` - 租户名称(必填)
 | ||
| - `code` - 租户编码(必填,唯一)
 | ||
| - `owner` - 负责人(必填)
 | ||
| - `phone` - 联系电话(可选)
 | ||
| - `email` - 邮箱地址(可选)
 | ||
| 
 | ||
| #### 状态字段
 | ||
| - `status` - 状态:`enabled`(启用)或 `disabled`(禁用)
 | ||
| - `audit_status` - 审核状态:
 | ||
|   - `pending` - 待审核
 | ||
|   - `approved` - 已通过
 | ||
|   - `rejected` - 已拒绝
 | ||
| 
 | ||
| #### 审核信息字段
 | ||
| - `audit_comment` - 审核意见(可选)
 | ||
| - `audit_by` - 审核人(可选)
 | ||
| - `audit_time` - 审核时间(可选)
 | ||
| 
 | ||
| #### 其他字段
 | ||
| - `remark` - 备注(可选)
 | ||
| - `create_time` - 创建时间(自动)
 | ||
| - `update_time` - 更新时间(自动)
 | ||
| - `create_by` - 创建人(可选)
 | ||
| - `update_by` - 更新人(可选)
 | ||
| 
 | ||
| ### 索引说明
 | ||
| - `uk_code` - 租户编码唯一索引
 | ||
| - `idx_name` - 租户名称索引
 | ||
| - `idx_owner` - 负责人索引
 | ||
| - `idx_status` - 状态索引
 | ||
| - `idx_audit_status` - 审核状态索引
 | ||
| - `idx_create_time` - 创建时间索引
 | ||
| 
 | ||
| ## 测试数据
 | ||
| 
 | ||
| SQL 文件中包含 10 条测试数据,涵盖了以下场景:
 | ||
| 1. **默认租户** - 已通过审核的系统默认租户
 | ||
| 2. **示例租户A** - 已通过审核的演示租户
 | ||
| 3. **示例租户B** - 待审核的租户
 | ||
| 4. **新申请租户C** - 待审核的新申请租户
 | ||
| 5. **已拒绝租户D** - 被拒绝的租户示例
 | ||
| 6. **企业租户E** - 已通过审核的企业级租户
 | ||
| 7. **测试租户F** - 已通过审核的测试环境租户
 | ||
| 8. **禁用租户G** - 已通过审核但被禁用的租户
 | ||
| 9. **小公司租户H** - 待审核的小型公司
 | ||
| 10. **个人开发者I** - 已通过审核的个人开发者账户
 | ||
| 
 | ||
| ## 验证创建
 | ||
| 
 | ||
| ```sql
 | ||
| -- 查看租户表结构
 | ||
| DESC yz_tenants;
 | ||
| 
 | ||
| -- 查看所有租户数据
 | ||
| SELECT * FROM yz_tenants;
 | ||
| 
 | ||
| -- 查看特定状态的租户
 | ||
| SELECT * FROM yz_tenants WHERE audit_status = 'pending';
 | ||
| SELECT * FROM yz_tenants WHERE status = 'enabled';
 | ||
| 
 | ||
| -- 查看租户统计
 | ||
| SELECT 
 | ||
|     audit_status,
 | ||
|     COUNT(*) as count
 | ||
| FROM yz_tenants
 | ||
| GROUP BY audit_status;
 | ||
| ```
 | ||
| 
 | ||
| ## 如果表已存在
 | ||
| 
 | ||
| 如果想重新创建表(会清空现有数据):
 | ||
| ```sql
 | ||
| DROP TABLE IF EXISTS yz_tenants;
 | ||
| ```
 | ||
| 然后再执行创建脚本。
 | ||
| 
 | ||
| ## 与其他表的关系
 | ||
| 
 | ||
| 租户表是系统中重要的基础表:
 | ||
| - `yz_files` 表中的 `tenant_id` 字段引用租户编码(VARCHAR 类型,不是外键)
 | ||
| - 未来可能会在 `yz_users` 表中添加 `tenant_id` 字段来关联租户
 | ||
| 
 | ||
| ## 注意事项
 | ||
| 
 | ||
| 1. **租户编码唯一性**:`code` 字段设置了唯一索引,确保每个租户编码都是唯一的
 | ||
| 2. **审核流程**:新创建的租户默认 `audit_status` 为 `pending`(待审核)
 | ||
| 3. **状态管理**:租户可以同时拥有 `status` 和 `audit_status` 两个状态字段,分别控制启用状态和审核状态
 | ||
| 4. **时间字段**:`create_time` 和 `update_time` 会自动管理,无需手动设置
 | ||
| 
 |