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` 会自动管理,无需手动设置
 | 
						||
 |