import { auth } from '@/lib/auth'; import { PrismaPg } from '@prisma/adapter-pg'; import { PrismaClient } from '../src/generated/prisma/client.js'; import { settingsData } from './data.js'; const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL!, }); const prisma = new PrismaClient({ adapter }); async function main() { console.log('🌱 Seeding database...'); // check mail exists const mailExists = await prisma.user.findFirst({ where: { email: 'luu.dat.tham@gmail.com', }, }); if (!mailExists) { // add admin user await auth.api.createUser({ body: { email: 'luu.dat.tham@gmail.com', password: 'Th@m!S@m!040390', name: 'Sam', role: 'admin', }, }); } console.log('---------------Created admin user-----------------'); await prisma.setting.deleteMany(); await prisma.setting.createMany({ data: settingsData, skipDuplicates: true, }); // // Clear existing todos // await prisma.todo.deleteMany() // // Create example todos // const todos = await prisma.todo.createMany({ // data: [ // { title: 'Buy groceries' }, // { title: 'Read a book' }, // { title: 'Workout' }, // ], // }) // console.log(`✅ Created ${todos.count} todos`) } main() .catch((e) => { console.error('❌ Error seeding database:', e); process.exit(1); }) .finally(async () => { await prisma.$disconnect(); });