@Test
@UseDataProvider("projects")
- public void deleteComponentsByMainBranchProjectUuid_deletes_all_branches_of_a_project(ComponentDto project) {
+ public void deleteNonMainBranchComponentsByProjectUuid_shouldDeletesAllBranchesOfAProjectExceptMainBranch(ComponentDto project) {
dbTester.components().insertComponent(project);
ComponentDto branch = dbTester.components().insertProjectBranch(project);
Stream.of(project, branch).forEach(prj -> {
dbTester.components().insertComponent(newFileDto(directory2));
});
- underTest.deleteComponentsByMainBranchProjectUuid(project.uuid());
+ underTest.deleteNonMainBranchComponentsByProjectUuid(project.uuid());
assertThat(countComponentOfRoot(project)).isEqualTo(6);
assertThat(countComponentOfRoot(branch)).isZero();
profiler.stop();
}
- void deleteComponentsByMainBranchProjectUuid(String uuid) {
- profiler.start("deleteComponentsByMainBranchProjectUuid (projects)");
- purgeMapper.deleteComponentsByMainBranchProjectUuid(uuid);
+ void deleteNonMainBranchComponentsByProjectUuid(String uuid) {
+ profiler.start("deleteNonMainBranchComponentsByProjectUuid (projects)");
+ purgeMapper.deleteNonMainBranchComponentsByProjectUuid(uuid);
session.commit();
profiler.stop();
}
commands.deleteApplicationProjectsByProject(rootUuid);
commands.deleteProjectInPortfolios(rootUuid);
commands.deleteComponents(rootUuid);
- commands.deleteComponentsByMainBranchProjectUuid(rootUuid);
+ commands.deleteNonMainBranchComponentsByProjectUuid(rootUuid);
commands.deleteProjectBadgeToken(rootUuid);
commands.deleteProject(rootUuid);
commands.deleteUserDismissedMessages(rootUuid);
void deleteComponentsByBranchUuid(@Param("rootUuid") String rootUuid);
- void deleteComponentsByMainBranchProjectUuid(@Param("uuid") String uuid);
+ void deleteNonMainBranchComponentsByProjectUuid(@Param("uuid") String uuid);
void deleteProjectsByProjectUuid(@Param("projectUuid") String projectUuid);
where
branch_uuid = #{rootUuid,jdbcType=VARCHAR}
</delete>
-
- <delete id="deleteComponentsByMainBranchProjectUuid" parameterType="map">
+ <delete id="deleteNonMainBranchComponentsByProjectUuid" parameterType="map">
delete from components
where
- main_branch_project_uuid = #{uuid,jdbcType=VARCHAR}
+ branch_uuid IN (SELECT pb.uuid from project_branches pb
+ where
+ pb.is_main = ${_false} and pb.project_uuid = #{uuid,jdbcType=VARCHAR})
</delete>
<delete id="deleteProjectsByProjectUuid" parameterType="map">