服务器管理 > 工作流和 SCM 项目 > 从数据库中删除项目和存档
从数据库中删除项目和存档
要从数据库中删除不再使用的指定项目,请使用 sideleteproject 命令。从数据库中删除项目会删除项目本身及其历史记录。从数据库中删除项目还会删除该项目中成员的所有成员存档。但是,共享项目和存档会保留在数据库中。您还可以使用 si deletearchive 命令来指定仅删除特定存档而不删除项目。
删除项目和存档是一个多阶段过程,称为删除会话。si deleteprojectsi deletearchive 的删除会话是相同的,但同一数据库和服务器只能进行一种类型的会话。在最终执行删除之前的任何阶段,您都可以回滚操作并结束删除会话,保持项目和存档不变。
* 
删除会话完成后,您无法回滚对数据库的更改。您必须恢复项目。
作为删除会话的一部分,标记为要从数据库中移除的项目和存档会被存档 (如果使用 --dump 子命令),并且之后可以迁移回数据库来恢复。但是,已删除项目与存储库保留的项目之间断开的链接无法恢复。
重要考虑事项
si deleteprojectsi deletearchive 命令都需要 AdminServerDebugServer ACL 权限。要删除项目及其成员存档,需要 deleteprojectdeletearchive 权限。
每次只能进行一种类型的删除会话 (si deleteprojectsideletearchive)。如果命令类型与现有会话的类型不匹配,则会返回出错消息。
删除的单位是整个成员存档或项目及其所有变型。不支持仅清除成员修订版本、仅清除某些变型或仅清除基于日期的修订版本或检查点。
删除后不会修改按名称对已删除对象的参考。这些参考包括更改包条目、ACL、策略、触发器注册、待定操作、锁定发起和沙盒注册表。
恢复已删除的对象不会重新建立这些对象和未删除对象之间的链接。删除操作会永久破坏链接。
如果项目中有检查点正在处理,则无法删除该项目。
删除会话的日志作为 si migrate 命令功能的一部分提供。有关详细信息,请参阅数据库存储库迁移器指南
在删除项目和存档之前,请参阅关于恢复项目和存档的重要考虑事项。
sideletearchive 命令用于全局清理文件 (而非移除单个存档),因为存档与数据库中的其他对象之间可能存在链接。有关详细信息,请参阅后续部分的 --nodeleteIfInUse 选项文档。
这对您有帮助吗?