Fix: seed-demo now links demo accounts to existing school
- seed-demo.ts now finds any existing school (from seed.ts) instead of creating a separate 'Demo Schule' - This ensures demo accounts have access to the seeded data (classes, students, etc.) - Falls back to creating a school if none exists
This commit is contained in:
1 parent
f63326c29b
commit
9f26c6da38
1 file changed
+19
-3
+19
-3
@@ -20,11 +20,27 @@ async function main() {
|
|||||||
parallelism: 1,
|
parallelism: 1,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// Find any existing school (from seed.ts) or create one
|
||||||
|
let school = await prisma.school.findFirst()
|
||||||
|
if (!school) {
|
||||||
|
school = await prisma.school.create({
|
||||||
|
data: {
|
||||||
|
name: 'Demo Schule',
|
||||||
|
schoolType: 'GYMNASIUM',
|
||||||
|
country: 'DE',
|
||||||
|
timezone: 'Europe/Berlin',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
console.log(`Created demo school: ${school.id}`)
|
||||||
|
} else {
|
||||||
|
console.log(`Using existing school: ${school.name} (${school.id})`)
|
||||||
|
}
|
||||||
|
|
||||||
for (const user of demoUsers) {
|
for (const user of demoUsers) {
|
||||||
await prisma.user.upsert({
|
await prisma.user.upsert({
|
||||||
where: { email: user.email },
|
where: { email: user.email },
|
||||||
update: { isDemo: true, passwordHash },
|
update: { isDemo: true, passwordHash, schoolId: school.id },
|
||||||
create: { ...user, passwordHash, locale: 'de', isDemo: true },
|
create: { ...user, passwordHash, locale: 'de', isDemo: true, schoolId: school.id },
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -33,7 +49,7 @@ async function main() {
|
|||||||
})
|
})
|
||||||
if (seededCount !== demoUsers.length) throw new Error(`Expected ${demoUsers.length} demo accounts, found ${seededCount}`)
|
if (seededCount !== demoUsers.length) throw new Error(`Expected ${demoUsers.length} demo accounts, found ${seededCount}`)
|
||||||
|
|
||||||
console.log(`Ensured ${seededCount} demo accounts.`)
|
console.log(`Ensured ${seededCount} demo accounts (schoolId: ${school.id}).`)
|
||||||
}
|
}
|
||||||
|
|
||||||
main()
|
main()
|
||||||
|
|||||||
Reference in new issue
Block a user