Files
Learn_System/backend/src/db/migrations/037_physics_8_hub.sql
T
Maxim Dolgolyov 09cfaa3bd2 fix(phys8): закрытие критических проблем ревью — миграции, ✓→✓, ConvectionSim
- Удалены legacy миграции 009/010/015 (создавали несуществующие physics-8-thermal/electro/optics)
- 037_physics_8_hub.sql сделана self-sufficient: INSERT OR IGNORE родителя + UPDATE
- 7 шт. literal ✓ заменены на ✓ в physics_8_lab.html (правило проекта)
- В phys.js добавлен createConvectionSim — главный визуал §4 (тороидальный поток частиц)
  закрытие плана Phase 0 Физики 8
2026-05-30 09:44:51 +03:00

54 lines
3.8 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- Physics 8 hub migration (self-sufficient).
-- Creates / rebuilds physics-8 as a full 3-chapter + lab textbook in the style of physics-10:
-- physics-8 (hub, html_path = physics_8_hub.html)
-- physics-8-ch1 (Тепловые явления, §§1–11) → physics_8_ch1.html
-- physics-8-ch2 (Электромагнитные явления, §§1231) → physics_8_ch2.html
-- physics-8-ch3 (Световые явления, §§32–40) → physics_8_ch3.html
-- physics-8-lab (Лабораторный практикум, 7 ЛР) → physics_8_lab.html
--
-- This migration is the single source of truth for physics-8 textbook structure.
-- It is idempotent and does not depend on any prior physics-8 migration.
-- 1. Remove legacy children if they ever existed (no-op on fresh DBs).
DELETE FROM textbooks WHERE slug IN ('physics-8-thermal', 'physics-8-electro', 'physics-8-optics');
-- 2. Ensure the parent physics-8 hub row exists.
INSERT OR IGNORE INTO textbooks
(slug, subject, grade, title, author, description, html_path, para_count, color, sort_order, is_active)
VALUES
('physics-8', 'physics', 8, 'Физика — 8 класс',
'',
'Полный курс физики 8 класса: тепловые явления (§§1–11), электромагнитные явления (§§12–31), световые явления (§§32–40), 7 виртуальных лабораторных работ.',
'physics_8_hub.html', 47, 'violet', 4, 1);
-- 3. Update the parent physics-8 hub row (covers case where it already existed from legacy migrations).
UPDATE textbooks
SET
author = '',
para_count = 47,
html_path = 'physics_8_hub.html',
description = 'Полный курс физики 8 класса: тепловые явления (§§1–11), электромагнитные явления (§§12–31), световые явления (§§32–40), 7 виртуальных лабораторных работ.',
color = 'violet'
WHERE slug = 'physics-8';
-- 3. Insert the 4 new children.
INSERT INTO textbooks
(slug, subject, grade, title, author, description, html_path, para_count, color, sort_order, is_active, parent_slug)
VALUES
('physics-8-ch1', 'physics', 8, 'Физика 8 · Тепловые явления',
'',
'§§1–11: внутренняя энергия, теплопроводность, конвекция, излучение, удельная теплоёмкость, плавление, кипение.',
'physics_8_ch1.html', 11, 'red', 1, 1, 'physics-8'),
('physics-8-ch2', 'physics', 8, 'Физика 8 · Электромагнитные явления',
'',
'§§12–31: электризация, ток, закон Ома, последовательное и параллельное соединения, мощность тока, постоянные магниты, электромагнит.',
'physics_8_ch2.html', 20, 'amber', 2, 1, 'physics-8'),
('physics-8-ch3', 'physics', 8, 'Физика 8 · Световые явления',
'',
'§§32–40: прямолинейное распространение света, отражение, преломление, линзы, построение изображений, глаз и очки.',
'physics_8_ch3.html', 9, 'cyan', 3, 1, 'physics-8'),
('physics-8-lab', 'physics', 8, 'Физика 8 · Лабораторный практикум',
'',
'7 виртуальных лабораторных работ: теплообмен, удельная теплоёмкость, простейшая цепь, последовательное и параллельное соединения, работа и мощность, отражение света.',
'physics_8_lab.html', 7, 'emerald', 4, 1, 'physics-8');