task/3382: Harmonisera tabellnamn #6
@ -1,11 +1,23 @@
|
||||
package se.su.dsv.scipro.survey;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import jakarta.persistence.Basic;
|
||||
import jakarta.persistence.CollectionTable;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.ElementCollection;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.Table;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
@Entity
|
||||
@Table(name = "question")
|
||||
public class Question implements Serializable {
|
||||
public enum Type { TEXT, SINGLE_CHOICE, MULTIPLE_CHOICE, GROUP_HEADING }
|
||||
|
||||
@ -20,6 +32,9 @@ public class Question implements Serializable {
|
||||
private String text;
|
||||
|
||||
@ElementCollection(fetch = FetchType.EAGER)
|
||||
@CollectionTable(name = "question_choices",
|
||||
joinColumns = @JoinColumn(name = "question_id", referencedColumnName = "id"))
|
||||
@Column(name = "choices")
|
||||
private List<String> choices = new LinkedList<>();
|
||||
|
||||
private Type type = Type.TEXT;
|
||||
|
@ -1,14 +1,23 @@
|
||||
package se.su.dsv.scipro.survey;
|
||||
|
||||
import jakarta.persistence.CascadeType;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.FetchType;
|
||||
import jakarta.persistence.GeneratedValue;
|
||||
import jakarta.persistence.GenerationType;
|
||||
import jakarta.persistence.Id;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.OneToMany;
|
||||
import jakarta.persistence.Table;
|
||||
import se.su.dsv.scipro.project.Project;
|
||||
import se.su.dsv.scipro.system.User;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import java.io.Serializable;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
@Entity
|
||||
@Table(name = "survey")
|
||||
public class Survey implements Serializable {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
|
@ -6,7 +6,7 @@ import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
|
||||
@Entity
|
||||
@Table
|
||||
@Table(name = "survey_answer")
|
||||
public class SurveyAnswer implements Serializable {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@ -21,6 +21,9 @@ public class SurveyAnswer implements Serializable {
|
||||
private String answer;
|
||||
|
||||
@ElementCollection(fetch = FetchType.EAGER)
|
||||
@CollectionTable(name = "survey_answer_multiple_answers",
|
||||
joinColumns = @JoinColumn(name = "survey_answer_id", referencedColumnName = "id"))
|
||||
@Column(name = "multiple_answers")
|
||||
private Set<String> multipleAnswers = new TreeSet<>();
|
||||
|
||||
public Survey getSurvey() {
|
||||
|
@ -1395,6 +1395,94 @@ alter table `checklist_template`
|
||||
foreign key (user_id) references user (id)
|
||||
on delete cascade on update cascade;
|
||||
|
||||
/*
|
||||
* Step 8: Survey related related tables
|
||||
*/
|
||||
|
||||
-- table: SurveyAnswer_multipleAnswers, except foreign key to coming table survey_answer
|
||||
|
||||
alter table `SurveyAnswer_multipleAnswers` drop foreign key `FK_SA`;
|
||||
alter table `SurveyAnswer_multipleAnswers` drop key `FK_SA`;
|
||||
|
||||
rename table `SurveyAnswer_multipleAnswers` to `survey_answer_multiple_answers`;
|
||||
|
||||
alter table `survey_answer_multiple_answers` rename column `SurveyAnswer_id` to `survey_answer_id`;
|
||||
alter table `survey_answer_multiple_answers` rename column `multipleAnswers` to `multiple_answers`;
|
||||
|
||||
-- table: SurveyAnswer, except foreign key to coming table survey and question
|
||||
|
||||
alter table `SurveyAnswer` drop foreign key `FK_answer_question`;
|
||||
alter table `SurveyAnswer` drop foreign key `FK_answer_survey`;
|
||||
alter table `SurveyAnswer` drop key `FK_answer_question`;
|
||||
alter table `SurveyAnswer` drop key `FK_answer_survey`;
|
||||
|
||||
rename table `SurveyAnswer` to `survey_answer`;
|
||||
|
||||
-- add back foreign key reference from survey_answer_multiple_answers to survey_answer
|
||||
|
||||
alter table `survey_answer_multiple_answers`
|
||||
add constraint fk_sama_survey_answer_id
|
||||
foreign key (survey_answer_id) references survey_answer (id)
|
||||
on delete cascade on update cascade;
|
||||
|
||||
-- table: Question_choices, except foreign key to coming table question
|
||||
|
||||
alter table `Question_choices` drop foreign key `FK_question_choices_question`;
|
||||
alter table `Question_choices` drop key `FK_question_choices_question`;
|
||||
|
||||
rename table `Question_choices` to `question_choices`;
|
||||
|
||||
-- table: Question
|
||||
|
||||
rename table `Question` to `question`;
|
||||
|
||||
-- add back foreign key reference from question_choices to question
|
||||
|
||||
alter table `question_choices`
|
||||
add constraint fk_question_choices_question_id
|
||||
foreign key (question_id) references question (id)
|
||||
on delete cascade on update cascade;
|
||||
|
||||
-- add back foreign key references from survey_answer to question
|
||||
|
||||
alter table `survey_answer`
|
||||
add constraint fk_survey_answer_question_id
|
||||
foreign key (question_id) references question (id)
|
||||
on delete cascade on update cascade;
|
||||
|
||||
-- table: survey
|
||||
|
||||
alter table `Survey` drop foreign key `FK_survey_project`;
|
||||
alter table `Survey` drop key `FK_survey_project`;
|
||||
alter table `Survey` drop foreign key `FK_survey_user`;
|
||||
alter table `Survey` drop key `FK_survey_user`;
|
||||
|
||||
rename table `Survey` to `survey`;
|
||||
|
||||
alter table `survey`
|
||||
add constraint fk_survey_project_id
|
||||
foreign key (project_id) references project (id)
|
||||
on delete cascade on update cascade;
|
||||
|
||||
alter table `survey`
|
||||
add constraint fk_survey_user_id
|
||||
foreign key (user_id) references user (id)
|
||||
on delete cascade on update cascade;
|
||||
|
||||
-- add back foreign key references from survey_answer to survey
|
||||
|
||||
alter table `survey_answer`
|
||||
add constraint fk_survey_answer_survey_id
|
||||
foreign key (survey_id) references survey (id)
|
||||
on delete cascade on update cascade;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1420,6 +1508,9 @@ alter table `project_user_note`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* Useful SQL
|
||||
|
||||
>>> SQL query for FK-to:
|
||||
|
Loading…
x
Reference in New Issue
Block a user