feat(academic): курсы, bootstrap и привязка лабораторных
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
-- Один и тот же курс не должен появиться дважды из-за конкурентного bootstrap:
|
||||
-- уникальный индекс по lower(title) сериализует вставку на уровне БД.
|
||||
CREATE UNIQUE INDEX courses_title_lower_uidx ON courses (lower(title));
|
||||
@@ -1,6 +1,6 @@
|
||||
-- Лабораторные привязываются к курсу. Nullable-фаза: курс C создаёт
|
||||
-- bootstrap после первого входа админа, затем выполняется post-bootstrap
|
||||
-- миграция с SET NOT NULL.
|
||||
-- bootstrap после первого входа админа. `labs.course_id NOT NULL` выставляется
|
||||
-- в рантайме сервисом CourseBootstrapService после переноса, не отдельным Flyway-файлом.
|
||||
ALTER TABLE labs ADD COLUMN course_id uuid REFERENCES courses (id) ON DELETE RESTRICT;
|
||||
|
||||
ALTER TABLE labs DROP CONSTRAINT IF EXISTS labs_number_semester_unique;
|
||||
|
||||
Reference in New Issue
Block a user