diff --git a/db/postgresql/issue576_subject_length.sql b/db/postgresql/issue576_subject_length.sql new file mode 100644 index 0000000000000000000000000000000000000000..ee5b00f63a4510ad6cecf4eaa1bf29cf8cb2a085 --- /dev/null +++ b/db/postgresql/issue576_subject_length.sql @@ -0,0 +1,41 @@ +DROP VIEW IF EXISTS public.view_disciplines; + +ALTER TABLE public.subjects ALTER COLUMN "name" TYPE varchar(250) USING "name"::varchar; + +CREATE OR REPLACE VIEW public.view_disciplines +AS SELECT DISTINCT ON (disciplines.id) disciplines.id AS disciplineid, + disciplines.authorid, + disciplines.examtype, + disciplines.lecturecount, + disciplines.practicecount, + disciplines.labcount, + disciplines.semesterid, + disciplines.islocked, + disciplines.milestone, + disciplines.subtype, + disciplines.compounddiscid, + disciplines.maxrate, + disciplines.currate, + disciplines.isinactive, + disciplines.isglobal, + grades.id AS gradeid, + grades.num AS gradenum, + grades.degree, + subjects.id AS subjectid, + subjects.name AS subjectname, + subjects.abbr AS subjectabbr, + faculties.id AS facultyid, + faculties.name AS facultyname, + faculties.abbr AS facultyabbr, + compound_disciplines.name AS compounddiscname, + global_disciplines.name AS globalname, + study_plans.externalid AS planexternalid + FROM disciplines + JOIN subjects ON subjects.id = disciplines.subjectid + JOIN faculties ON faculties.id = disciplines.facultyid + LEFT JOIN grades ON grades.id = disciplines.gradeid + LEFT JOIN compound_disciplines ON compound_disciplines.id = disciplines.compounddiscid + LEFT JOIN disciplines_study_plans ON disciplines_study_plans.disciplineid = disciplines.id + LEFT JOIN study_plans ON study_plans.id = disciplines_study_plans.studyplanid + LEFT JOIN global_disciplines ON global_disciplines.disciplineid = disciplines.id; +