前言
Gitea迁移的时候一个一个迁移太慢了,我们可以调用官方提供的API使用脚本迁移。
使用BAT
Win下使用curl请求接口 参数中的双引号要转义
1 | @echo off |
NodeJS
安装依赖
需要先安装 Node.js 环境,然后安装 axios
库,安装命令为:
1 | npm install axios |
请求示例
POST 请求
1 | const axios = require('axios'); |
完整脚本
save_status.js
1 | const fs = require('fs'); |
merge.js
1 | const axios = require('axios'); |
Gitea查询
查询所有仓库
1 | select user.name as username,repository.name,repository.description from repository LEFT JOIN user where repository.owner_id=user.id; |
查询的数据导出为JSON即可。
查询没有设置团队的项目
1 | select repository.name,team.name as teamname FROM team_repo LEFT JOIN team on team_repo.team_id=team.id LEFT JOIN repository on team_repo.repo_id=repository.id where repository.name not in (select repository.name FROM team_repo LEFT JOIN team on team_repo.team_id=team.id LEFT JOIN repository on team_repo.repo_id=repository.id where team.name!='Owners'); |
查询所有团队
1 | --查询所有的团队 |
查询有团队的项目
1 | select user.name as username,repository.name,repository.description,team.name as team_name,team.description as team_description from repository LEFT JOIN user on repository.owner_id=user.id LEFT JOIN team_repo on repository.id=team_repo.repo_id LEFT JOIN team ON team_repo.team_id=team.id WHERE team.name!='Owners' ORDER BY team.name ASC; |