import { DataSource } from 'typeorm'; export async function seedDefaultCampus(dataSource: DataSource) { const deptRepo = dataSource.getRepository('departments'); const userDeptRepo = dataSource.getRepository('user_departments'); const existing = await deptRepo.count(); if (existing > 0) { console.log('Departments exist, skip seed'); return; } const campus = await deptRepo.save({ name: '主校区', type: 'campus', sortOrder: 0 }); const tables = ['students','rooms','classrooms','class_schedules','attendance_records','room_expenses','personal_expenses','occupancies','bills','deposits','deposit_installments','classroom_rentals']; for (const table of tables) { await dataSource.query(`UPDATE ${table} SET department_id = ? WHERE department_id IS NULL`, [campus.id]); } const users = await dataSource.query('SELECT id FROM users'); for (const user of users) { await userDeptRepo.save({ userId: user.id, departmentId: campus.id, isDefault: true }); } console.log('Seed: default campus created, data backfilled'); }