import { PrismaClient } from '@prisma/client'; const prisma = new PrismaClient(); // ============================================ // 系统账户定义 // ============================================ const SYSTEM_ACCOUNTS = [ { userId: BigInt(1), accountSequence: BigInt(1), nickname: '总部社区', referralCode: 'HQ000001', provinceCode: '000000', cityCode: '000000', status: 'SYSTEM', }, { userId: BigInt(2), accountSequence: BigInt(2), nickname: '成本费账户', referralCode: 'COST0002', provinceCode: '000000', cityCode: '000000', status: 'SYSTEM', }, { userId: BigInt(3), accountSequence: BigInt(3), nickname: '运营费账户', referralCode: 'OPER0003', provinceCode: '000000', cityCode: '000000', status: 'SYSTEM', }, { userId: BigInt(4), accountSequence: BigInt(4), nickname: 'RWAD底池账户', referralCode: 'POOL0004', provinceCode: '000000', cityCode: '000000', status: 'SYSTEM', }, ]; async function main() { console.log('Seeding database...'); // 清理现有数据 await prisma.deadLetterEvent.deleteMany(); await prisma.smsCode.deleteMany(); await prisma.userEvent.deleteMany(); await prisma.deviceToken.deleteMany(); await prisma.walletAddress.deleteMany(); await prisma.userDevice.deleteMany(); await prisma.userAccount.deleteMany(); // 初始化账户序列号生成器 (从100000开始,系统账户使用1-99) await prisma.accountSequenceGenerator.deleteMany(); await prisma.accountSequenceGenerator.create({ data: { id: 1, currentSequence: BigInt(100000), // 普通用户从100000开始 }, }); // 创建系统账户 console.log('Creating system accounts...'); for (const account of SYSTEM_ACCOUNTS) { await prisma.userAccount.upsert({ where: { userId: account.userId }, update: account, create: account, }); console.log(` - Created system account: ${account.nickname} (userId=${account.userId})`); } console.log('Database seeded successfully!'); console.log('- Initialized account sequence generator starting at 100000'); console.log(`- Created ${SYSTEM_ACCOUNTS.length} system accounts (userId 1-4)`); } main() .catch((e) => { console.error(e); process.exit(1); }) .finally(async () => { await prisma.$disconnect(); });