task/3382: Harmonisera tabellnamn #6

Merged
ansv7779 merged 104 commits from task/3382 into develop 2024-11-12 13:33:44 +01:00
2 changed files with 58 additions and 22 deletions
Showing only changes of commit b3b4e0dd10 - Show all commits

View File

@ -1,5 +1,25 @@
package se.su.dsv.scipro.settings.dataobjects;
import java.util.ArrayList;
import java.util.Collection;
import java.util.EnumSet;
import java.util.Objects;
import jakarta.persistence.Basic;
import jakarta.persistence.Column;
import jakarta.persistence.ElementCollection;
import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.JoinTable;
import jakarta.persistence.ManyToMany;
import jakarta.persistence.OneToOne;
import jakarta.persistence.Table;
import se.su.dsv.scipro.project.ProjectStatus;
import se.su.dsv.scipro.project.ProjectTeamMemberRoles;
import se.su.dsv.scipro.security.auth.roles.Roles;
@ -7,12 +27,6 @@ import se.su.dsv.scipro.system.DomainObject;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import jakarta.persistence.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.EnumSet;
import java.util.Objects;
@Entity
@Table(name = "user_profile")
public class UserProfile extends DomainObject {
@ -24,18 +38,25 @@ public class UserProfile extends DomainObject {
@OneToOne(optional = false)
private User user;
@Basic(optional = true)
private String skypeId;
@Basic(optional = true)
private String phoneNumber;
@Basic(optional = true)
@Column(name = "other_info", nullable = true)
private String otherInfo;
@Basic(optional = false)
@Column(name = "phone_number", nullable = true)
private String phoneNumber;
@Column(name = "skype_id", nullable = true)
private String skypeId;
@Column(name = "mail_compilation", nullable = false)
private boolean mailCompilation = false;
@Column(name = "default_supervisor_filter", nullable = false)
private boolean defaultSupervisorFilter = true;
@Enumerated(EnumType.STRING)
@Column(name = "selected_role")
private Roles selectedRole;
@ElementCollection
@Enumerated(EnumType.STRING)
private Collection<ProjectStatus> defaultProjectStatusFilter = EnumSet.of(ProjectStatus.ACTIVE);
@ -44,20 +65,13 @@ public class UserProfile extends DomainObject {
@Enumerated(EnumType.STRING)
private Collection<ProjectTeamMemberRoles> defaultProjectTeamMemberRolesFilter = EnumSet.of(ProjectTeamMemberRoles.CO_SUPERVISOR);
@Basic(optional = false)
private boolean defaultSupervisorFilter = true;
@ManyToMany
@JoinTable(
name = "user_profile_ProjectType",
name = "user_profile_project_type",
joinColumns = {@JoinColumn(name = "user_profile_id")}
)
private Collection<ProjectType> defaultProjectTypeFilter = new ArrayList<>();
@Basic
@Enumerated(EnumType.STRING)
private Roles selectedRole;
@Override
public Long getId() {
return this.id;

View File

@ -682,6 +682,28 @@ alter table `user`
foreign key (password_id) references password(id)
on delete cascade on update cascade;
-- fix table user_profile
alter table `user_profile` drop foreign key `FK_user_profile_user`;
alter table `user_profile` drop key `FK487E2135895349BF`;
alter table `user_profile` drop key `UK_ebc21hy5j7scdvcjt0jy6xxrv`;
alter table `user_profile` drop key `user_id`;
alter table `user_profile` rename column `otherInfo` to `other_info`;
alter table `user_profile` rename column `phoneNumber` to `phone_number`;
alter table `user_profile` rename column `skypeId` to `skype_id`;
alter table `user_profile` rename column `mailCompilation` to `mail_compilation`;
alter table `user_profile` drop column `threadedForum`;
alter table `user_profile` rename column `defaultSupervisorFilter` to `default_supervisor_filter`;
alter table `user_profile` rename column `selectedRole` to `selected_role`;
alter table `user_profile` add constraint uk_user_profile_user_id unique(user_id);
alter table `user_profile`
add constraint fk_user_profile_user_id
foreign key (user_id) references user(id)
on delete cascade on update cascade;
/* *********************************************************************************************** */
/* the mess with ProjectType