-- Пост-миграционные проверки. Запускать после миграций и 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;