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