34 lines
1.3 KiB
Markdown
34 lines
1.3 KiB
Markdown
# promotion-import
|
||
|
||
将 `web/promotion/视频发布/` 下映射表中的文件复制到 **`{upload}/sites/{site_id}/promotion/social/`**,并在 **`site_assets`** 集合插入记录(与后台「保留原文件名」上传到 `promotion/social` 一致)。
|
||
|
||
对「操作与计算(一)(二)」等条目会**按顺序尝试多个源文件名**;若仍找不到且子目录内**恰好只有一个** `.mov` 或 `.jpg`,会自动选用(解决「有些视频有、有些 404」多为源文件名与映射不一致)。
|
||
|
||
## 参数
|
||
|
||
| 参数 | 说明 |
|
||
|------|------|
|
||
| `-site` | 必填,站点 MongoDB `_id` 字符串 |
|
||
| `-src` | 可选,`视频发布` 目录;默认 `{项目根}/web/promotion/视频发布` |
|
||
| `-upload` | 可选,上传根目录;默认 `UPLOAD_DIR` 环境变量或 `{项目根}/data/uploads` |
|
||
| `-dry-run` | 只打印计划,不写盘、不写库 |
|
||
|
||
环境变量与主程序相同:`MONGODB_URI`、`MONGODB_DB`(见 `server/.env`)。
|
||
|
||
## 示例
|
||
|
||
```bash
|
||
cd server
|
||
go run -mod=vendor ./cmd/promotion-import/ -site=69ba1f1f41aeb82acfd609ef
|
||
```
|
||
|
||
Docker 部署时请在**宿主机**对挂载的 `data/uploads` 执行,路径示例:
|
||
|
||
```bash
|
||
./scripts/import-promotion-to-api.sh -site=xxx \
|
||
-src=/www/yh_web/web/promotion/视频发布 \
|
||
-upload=/www/yh_web/data/uploads
|
||
```
|
||
|
||
导入后无需重启 API;`promotion-media` 立即可读。
|