feat(db): миграции групп, курсов, статусов и профиля
This commit is contained in:
38
deploy/preflight/groups-courses-post.sql
Normal file
38
deploy/preflight/groups-courses-post.sql
Normal file
@@ -0,0 +1,38 @@
|
||||
-- Пост-миграционные проверки. Запускать после миграций и bootstrap курса C.
|
||||
\pset pager off
|
||||
|
||||
\echo '=== 1. Лабы без курса (должно быть 0 перед SET NOT NULL) ==='
|
||||
SELECT count(*) AS labs_without_course
|
||||
FROM academic.labs
|
||||
WHERE course_id IS NULL;
|
||||
|
||||
\echo '=== 2. Главы без курса (должно быть 0, если все текущие материалы курсовые) ==='
|
||||
SELECT count(*) AS chapters_without_course
|
||||
FROM academic.chapters
|
||||
WHERE course_id IS NULL;
|
||||
|
||||
\echo '=== 3. Курсы (должен быть ровно один курс C) ==='
|
||||
SELECT id, course_no, title, owner_account_id, status
|
||||
FROM academic.courses
|
||||
ORDER BY course_no;
|
||||
|
||||
\echo '=== 4. Комментарии без автора (старые записи) ==='
|
||||
SELECT count(*) AS comments_without_author
|
||||
FROM progress.grade_comments
|
||||
WHERE author_account_id IS NULL;
|
||||
|
||||
\echo '=== 5. Аккаунты по ролям и статусам ==='
|
||||
SELECT role, status, count(*) AS accounts
|
||||
FROM identity.accounts
|
||||
GROUP BY role, status
|
||||
ORDER BY role, status;
|
||||
|
||||
\echo '=== 6. Группы без полного разбора ==='
|
||||
SELECT id, name, stream, course, number, degree, enrollment_year
|
||||
FROM identity.groups
|
||||
WHERE stream IS NULL
|
||||
OR course IS NULL
|
||||
OR number IS NULL
|
||||
OR degree IS NULL
|
||||
OR enrollment_year IS NULL
|
||||
ORDER BY name;
|
||||
Reference in New Issue
Block a user