Files
Learn_System/backend/src/db/migrations/038_physics_9_hub.sql
T
Maxim Dolgolyov c0af5502bf chore(textbooks): убрать сторонних авторов — все учебники наши (author=LearnSpace)
Политика «все учебники наши»: нигде не упоминаются сторонние авторы.
- Миграции (15 файлов): колонка author → 'LearnSpace'; из описаний убран оборот
  «по учебнику <автор>:»; авторские фамилии вычищены из комментариев. Покрыты
  Арефьева/Пирютко, Казаков, Латотин/Чеботаревский/Горбунова/Цыбулько, Исаченкова,
  Жилко/Маркович/Сокольский, Герасимов/Лобанов.
- HTML: physics_9_ch5 («по канве учебника Исаченковой» → «по учебной программе»),
  physics_11_hub (hdr-sub с авторами → описание курса), mocks-redesign (карточки-авторы → LearnSpace).
- Генераторы gen_phys9_ch.js/gen_phys11_stubs.js — шаблоны без авторов.
- НОВОЕ: update_textbook_authors.js — идемпотентный апдейтер ЖИВОЙ БД (миграции уже
  применены): author→'LearnSpace' у всех 107 учебников + чистка описаний. DRY-RUN по умолч.

⚠️ Живую БД правит ПОЛЬЗОВАТЕЛЬ: node backend/scripts/update_textbook_authors.js --apply
(в БД сейчас author пуст у всех, видимые упоминания были в описаниях «по учебнику …»).
review_geom10/11.js не тронуты — там фамилии как поисковые шаблоны детектора, не атрибуция.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 11:52:06 +03:00

48 lines
3.4 KiB
SQL

-- Physics 9 hub migration.
-- Rebuilds physics-9 as a full 5-chapter textbook in the style of physics-10:
-- physics-9 (hub, html_path = physics_9_hub.html)
-- physics-9-ch1 (Основы кинематики, §§1–14) → physics_9_ch1.html
-- physics-9-ch2 (Основы динамики, §§15–24) → physics_9_ch2.html
-- physics-9-ch3 (Основы статики, §§25–30) → physics_9_ch3.html
-- physics-9-ch4 (Законы сохранения, §§31–36) → physics_9_ch4.html
-- physics-9-ch5 (Лабораторный практикум, 12 ЛР) → physics_9_ch5.html
--
-- Source: учебная программа РБ,
-- «Физика 9», Народная асвета, 2019. Контент авторский (наш).
-- Author left empty per project policy.
-- 1. Update the parent physics-9 hub row (previously a flat single-file textbook).
UPDATE textbooks
SET
author = '',
para_count = 36,
html_path = 'physics_9_hub.html',
description = 'Полный курс механики: кинематика, динамика, статика, законы сохранения + 12 лабораторных работ. 5 глав, 36 параграфов.',
color = 'blue'
WHERE slug = 'physics-9';
-- 2. Insert the 5 new children.
INSERT INTO textbooks
(slug, subject, grade, title, author, description, html_path, para_count, color, sort_order, is_active, parent_slug)
VALUES
('physics-9-ch1', 'physics', 9, 'Физика 9 · Основы кинематики',
'',
'§§1–14: механическое движение, относительность, векторы, путь и перемещение, равномерное и равноускоренное движение, движение по окружности.',
'physics_9_ch1.html', 14, 'blue', 1, 1, 'physics-9'),
('physics-9-ch2', 'physics', 9, 'Физика 9 · Основы динамики',
'',
'§§15–24: законы Ньютона, масса, закон Гука, силы трения, движение под силой тяжести, всемирное тяготение, вес и невесомость.',
'physics_9_ch2.html', 10, 'green', 2, 1, 'physics-9'),
('physics-9-ch3', 'physics', 9, 'Физика 9 · Основы статики',
'',
'§§25–30: момент силы, рычаги, блоки, наклонная плоскость, КПД, центр тяжести, закон Архимеда.',
'physics_9_ch3.html', 6, 'violet', 3, 1, 'physics-9'),
('physics-9-ch4', 'physics', 9, 'Физика 9 · Законы сохранения',
'',
'§§31–36: импульс, реактивное движение, работа, мощность, кинетическая и потенциальная энергия, закон сохранения энергии.',
'physics_9_ch4.html', 6, 'pink', 4, 1, 'physics-9'),
('physics-9-ch5', 'physics', 9, 'Физика 9 · Лабораторный практикум',
'',
'12 лабораторных работ: погрешности, ускорение, окружность, закон Гука, трение, брошенное тело, рычаг, блоки, наклонная плоскость, Архимед, импульс, энергия.',
'physics_9_ch5.html', 12, 'cyan', 5, 1, 'physics-9');