Files
gongxue-base/apps/server/src/departments/seed.ts

24 lines
1.0 KiB
TypeScript

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');
}