619567b550
saveCourseToDB now uses ON CONFLICT DO UPDATE instead of INSERT OR REPLACE, which preserves the course ID and prevents orphaning of layout foreign keys. Added scripts/repair-layouts.js to reassign orphaned layouts to their correct courses by detecting the ID offset from re-scraping.