task/3382: Fix table user_profile_default_project_team_member_roles_filter and containing entity class UserProfile.

This commit is contained in:
Tom Zhao 2024-07-03 12:54:38 +02:00
parent b3b4e0dd10
commit 2b0b0d7b71
2 changed files with 37 additions and 0 deletions
core/src/main
java/se/su/dsv/scipro/settings/dataobjects
resources/db/migration

@ -6,6 +6,7 @@ import java.util.EnumSet;
import java.util.Objects;
import jakarta.persistence.Basic;
import jakarta.persistence.CollectionTable;
import jakarta.persistence.Column;
import jakarta.persistence.ElementCollection;
import jakarta.persistence.Entity;
@ -59,10 +60,16 @@ public class UserProfile extends DomainObject {
@ElementCollection
@Enumerated(EnumType.STRING)
@CollectionTable(name = "user_profile_default_project_status_filter",
joinColumns = @JoinColumn(name = "user_profile_id", referencedColumnName = "id"))
@Column(name = "default_project_status_filter")
private Collection<ProjectStatus> defaultProjectStatusFilter = EnumSet.of(ProjectStatus.ACTIVE);
@ElementCollection
@Enumerated(EnumType.STRING)
@CollectionTable(name = "user_profile_default_project_team_member_roles_filter",
joinColumns = @JoinColumn(name = "user_profile_id", referencedColumnName = "id"))
@Column(name = "default_project_team_member_roles_filter")
private Collection<ProjectTeamMemberRoles> defaultProjectTeamMemberRolesFilter = EnumSet.of(ProjectTeamMemberRoles.CO_SUPERVISOR);
@ManyToMany

@ -704,6 +704,36 @@ alter table `user_profile`
foreign key (user_id) references user(id)
on delete cascade on update cascade;
-- fix table user_profile_default_project_status_filter
alter table `UserProfile_defaultProjectStatusFilter` drop foreign key `FK_user_profile_project_status_user_profile`;
alter table `UserProfile_defaultProjectStatusFilter` drop key `FK_icub74l6htav89sx85ar4qcqg`;
rename table `UserProfile_defaultProjectStatusFilter` to `user_profile_default_project_status_filter`;
alter table `user_profile_default_project_status_filter` rename column `UserProfile_id` to `user_profile_id`;
alter table `user_profile_default_project_status_filter` rename column `defaultProjectStatusFilter` to `default_project_status_filter`;
alter table `user_profile_default_project_status_filter`
add constraint fk_user_profile_default_project_status_filter_user_profile_id
foreign key (user_profile_id) references user_profile(id)
on delete cascade on update cascade;
-- fix table user_profile_default_project_team_member_roles_filter
alter table `UserProfile_defaultProjectTeamMemberRolesFilter` drop foreign key `FK_user_profile_role_user_profile`;
alter table `UserProfile_defaultProjectTeamMemberRolesFilter` drop key `FK_ibub74l6htav89sx85ar4qcqg`;
rename table `UserProfile_defaultProjectTeamMemberRolesFilter` to `user_profile_default_project_team_member_roles_filter`;
alter table `user_profile_default_project_team_member_roles_filter` rename column `UserProfile_id` to `user_profile_id`;
alter table `user_profile_default_project_team_member_roles_filter` rename column `defaultProjectTeamMemberRolesFilter` to `default_project_team_member_roles_filter`;
alter table `user_profile_default_project_team_member_roles_filter`
add constraint fk_up_dp_tm_roles_filter_user_profile_id
foreign key (user_profile_id) references user_profile(id)
on delete cascade on update cascade;
/* *********************************************************************************************** */
/* the mess with ProjectType