46 lines
1.1 KiB
Markdown
46 lines
1.1 KiB
Markdown
# 社群模块 SQLite 存储
|
||
|
||
默认使用 SQLite,无需 PocketBase、MinIO 等外部依赖。图片上传保存到本地目录。
|
||
|
||
## 配置
|
||
|
||
| 环境变量 | 说明 | 默认 |
|
||
|----------|------|------|
|
||
| COMMUNITY_STORAGE | `sqlite` \| `pocketbase` | `sqlite` |
|
||
| COMMUNITY_DATA_DIR | 数据目录(含 db、uploads) | `./data` |
|
||
| BASE_URL | 用于拼接图片 URL | 见主配置 |
|
||
|
||
## 文件结构
|
||
|
||
```
|
||
data/
|
||
├── community.db # SQLite 数据库
|
||
└── community_uploads/ # 上传图片
|
||
└── 1731234567_abc123.jpg
|
||
```
|
||
|
||
## 表结构(community_memos)
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
|------|------|------|
|
||
| id | TEXT | 主键 |
|
||
| user_id | TEXT | 发布者 |
|
||
| content | TEXT | 内容 |
|
||
| pinned | INTEGER | 置顶 0/1 |
|
||
| visibility | TEXT | PRIVATE/PROTECTED/PUBLIC |
|
||
| state | TEXT | NORMAL/ARCHIVED |
|
||
| created | TEXT | ISO 时间 |
|
||
| updated | TEXT | ISO 时间 |
|
||
|
||
## 启动时自动建表
|
||
|
||
`app/services/community.py` 加载时自动执行 `init_schema()`,无需手动迁移。
|
||
|
||
## 切换 PocketBase
|
||
|
||
```bash
|
||
COMMUNITY_STORAGE=pocketbase
|
||
```
|
||
|
||
需配置 PocketBase 和 MinIO(图片上传)。
|