-- Physics 7 hub migration (self-sufficient). -- Creates physics-7 as a full 5-chapter + lab textbook in the style of physics-8/9/10: -- physics-7 (hub, html_path = physics_7_hub.html) -- physics-7-ch1 (Физические методы познания природы, §§1–7) → physics_7_ch1.html -- physics-7-ch2 (Строение вещества, §§8–13) → physics_7_ch2.html -- physics-7-ch3 (Движение и силы, §§14–27) → physics_7_ch3.html -- physics-7-ch4 (Давление, §§28–35) → physics_7_ch4.html -- physics-7-ch5 (Работа. Мощность. Энергия, §§36–42) → physics_7_ch5.html -- physics-7-lab (Лабораторный практикум, 6 ЛР) → physics_7_lab.html -- -- This migration is the single source of truth for physics-7 textbook structure. -- It is idempotent and does not depend on any prior physics-7 migration. -- 1. Ensure the parent physics-7 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-7', 'physics', 7, 'Физика — 7 класс', '', 'Первый курс физики: методы познания, строение вещества, движение и силы, давление, работа/мощность/энергия. 42 параграфа в 5 главах + 6 виртуальных лабораторных работ.', 'physics_7_hub.html', 48, 'sky', 3, 1); -- 2. Update the parent physics-7 hub row (idempotent on re-runs). UPDATE textbooks SET author = '', para_count = 48, html_path = 'physics_7_hub.html', description = 'Первый курс физики: методы познания, строение вещества, движение и силы, давление, работа/мощность/энергия. 42 параграфа в 5 главах + 6 виртуальных лабораторных работ.', color = 'sky' WHERE slug = 'physics-7'; -- 3. Insert the 6 children (5 chapters + lab). INSERT INTO textbooks (slug, subject, grade, title, author, description, html_path, para_count, color, sort_order, is_active, parent_slug) VALUES ('physics-7-ch1', 'physics', 7, 'Физика 7 · Физические методы познания природы', '', '§§1–7: физика как наука, физическое тело и явление, методы исследования, измерения, СИ, цена деления, погрешность.', 'physics_7_ch1.html', 7, 'sky', 1, 1, 'physics-7'), ('physics-7-ch2', 'physics', 7, 'Физика 7 · Строение вещества', '', '§§8–13: дискретное строение, тепловое движение, взаимодействие частиц, три состояния, тепловое расширение, термометр.', 'physics_7_ch2.html', 6, 'indigo', 2, 1, 'physics-7'), ('physics-7-ch3', 'physics', 7, 'Физика 7 · Движение и силы', '', '§§14–27: механическое движение, равномерное и неравномерное, плотность, силы тяжести/упругости/трения, динамометр, равнодействующая.', 'physics_7_ch3.html', 14, 'red', 3, 1, 'physics-7'), ('physics-7-ch4', 'physics', 7, 'Физика 7 · Давление', '', '§§28–35: давление, закон Паскаля, гидравлический пресс, гидростатика, сообщающиеся сосуды, атмосферное давление, барометры.', 'physics_7_ch4.html', 8, 'amber', 4, 1, 'physics-7'), ('physics-7-ch5', 'physics', 7, 'Физика 7 · Работа. Мощность. Энергия', '', '§§36–42: механическая работа, КПД, мощность, кинетическая и потенциальная энергия, закон сохранения механической энергии.', 'physics_7_ch5.html', 7, 'emerald', 5, 1, 'physics-7'), ('physics-7-lab', 'physics', 7, 'Физика 7 · Лабораторный практикум', '', '6 виртуальных лабораторных работ: цена деления, измерение длины, объёма, неравномерное движение, плотность, сила трения.', 'physics_7_lab.html', 6, 'cyan', 6, 1, 'physics-7');