-- 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 (Электромагнитные явления, §§12–31) → 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');