task/3382: ProjectType is finally fixed.

This commit is contained in:
Tom Zhao 2024-07-05 16:05:40 +02:00
parent fcd0a4c8b6
commit 5b09b0963e
2 changed files with 26 additions and 12 deletions
core/src/main
java/se/su/dsv/scipro/system
resources/db/migration

@ -1,12 +1,29 @@
package se.su.dsv.scipro.system;
import jakarta.persistence.*;
import java.util.EnumSet;
import java.util.Objects;
import java.util.Set;
import jakarta.persistence.Basic;
import jakarta.persistence.Cacheable;
import jakarta.persistence.CascadeType;
import jakarta.persistence.CollectionTable;
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.Lob;
import jakarta.persistence.OneToOne;
import jakarta.persistence.Table;
@Entity
@Cacheable(true)
@Table(name = "project_type")
public class ProjectType extends LazyDeletableDomainObject {
public static final DegreeType MASTER = DegreeType.MASTER;
public static final DegreeType BACHELOR = DegreeType.BACHELOR;
@ -26,7 +43,7 @@ public class ProjectType extends LazyDeletableDomainObject {
private ProjectTypeSettings projectTypeSettings = new ProjectTypeSettings(this);
@Enumerated(EnumType.STRING)
@Column(nullable = false)
@Column(name = "degree_type", nullable = false)
private DegreeType degreeType = DegreeType.NONE;
@Lob

@ -1143,23 +1143,19 @@ alter table `target`
-- table: ProjectType (finally!! at this stage, no any foreign key is referenced to ProjectType)
rename table `ProjectType` to `project_type`;
-- >>> STACK POP: 1st table group: target, projectPartner, ApplicationPeriodProjectType is done!!!
alter table `project_type` rename column `degreeType` to `degree_type`;
-- Add back all foreign key references to project_type
/* Activate following later
-- **********************************************************************************
-- TODO: -- Add back all foreign key references to project_type
-- **********************************************************************************
-- add back foreign key reference from target to project_type
-- add back foreign key reference from application_period_project_type to project_type
alter table `application_period_project_type`
add constraint fk_ap_pt_project_type_id
foreign key (project_type_id) references project_type (id)
on delete cascade on update cascade;
-- add back foreign key reference from target to project_type
-- add back foreign key reference from project_partner to project_type
alter table `project_partner`
add constraint fk_project_partner_project_type_id
foreign key (project_type_id) references project_type (id)
@ -1171,6 +1167,8 @@ alter table `target`
foreign key (project_type_id) references project_type (id)
on delete cascade on update cascade;
-- >>> STACK POP: 1st table group: target, projectPartner, ApplicationPeriodProjectType is done!!!
-- add back foreign key reference from project to project_type
alter table `project`
add constraint fk_project_project_type_id
@ -1224,7 +1222,6 @@ alter table `user_profile_project_type`
add constraint fk_user_profile_project_type_project_type_id
foreign key (project_type_id) references project_type (id)
on delete cascade on update cascade;
*/
/* the mess with ProjectType