109 lines
3.4 KiB
TypeScript
109 lines
3.4 KiB
TypeScript
import { PrismaClient } from '@prisma/client';
|
|
const prisma = new PrismaClient();
|
|
|
|
async function member() {
|
|
[
|
|
{
|
|
email: 'tom@exampl.com',
|
|
avatar: `https://plus.unsplash.com/premium_photo-1671656349322-41de944d259b`,
|
|
sex: 'M',
|
|
},
|
|
{
|
|
email: 'may@exampl.com',
|
|
avatar: `https://images.unsplash.com/photo-1522075469751-3a6694fb2f61`,
|
|
sex: 'F',
|
|
},
|
|
{
|
|
email: 'june@exampl.com',
|
|
avatar: `https://plus.unsplash.com/premium_photo-1723867331866-e112500178a4`,
|
|
sex: 'M',
|
|
},
|
|
{
|
|
email: 'april@exampl.com',
|
|
avatar: `https://plus.unsplash.com/premium_photo-1682089894837-e01e5cb8e471`,
|
|
sex: 'F',
|
|
},
|
|
{
|
|
email: 'susan@exampl.com',
|
|
avatar: `https://images.unsplash.com/photo-1485893086445-ed75865251e0`,
|
|
sex: 'M',
|
|
},
|
|
{
|
|
email: 'peter@exampl.com',
|
|
avatar: `https://plus.unsplash.com/premium_photo-1722945763962-305a5a769cc8`,
|
|
sex: 'F',
|
|
},
|
|
].forEach(async (m, i) => {
|
|
const john = await prisma.member.upsert({
|
|
where: { email: m.email },
|
|
update: {},
|
|
create: {
|
|
email: m.email,
|
|
name: `member_${i}`,
|
|
age: 20 + i,
|
|
rank: i % 2 ? 'VIP' : 'NON_VIP',
|
|
verified: i % 3 ? 'NOT_VERIFIED' : 'VERIFIED',
|
|
hobbies: ['fishing', 'basketball', 'piano'],
|
|
distance: '40km',
|
|
location_area: 'Sai Kung',
|
|
greetings: 'Hi, I am ',
|
|
gender: 'man',
|
|
tall_cm: 172,
|
|
weight_kg: 60,
|
|
occupation: 'doctor',
|
|
language: ['English', 'French', 'Chinese'],
|
|
education: ['Degree of Computer'],
|
|
self_introduction: 'Get me know me before you love me. Get me know me before you love me.',
|
|
music: ['Classic', 'Classic', 'Classic', 'Classic', 'Classic', 'Classic'],
|
|
pets: ['Classic', 'Classic', 'Classic', 'Classic', 'Classic', 'Classic'],
|
|
character: ['Classic', 'Classic', 'Classic', 'Classic', 'Classic', 'Classic'],
|
|
avatar: m.avatar,
|
|
sex: m.sex,
|
|
},
|
|
});
|
|
});
|
|
|
|
for (let i = 0; i < 3; i++) {
|
|
const john = await prisma.member.upsert({
|
|
where: { email: `member${i}@example.com` },
|
|
update: {},
|
|
create: {
|
|
email: `member${i}@example.com`,
|
|
name: `member_${i}`,
|
|
age: 20 + i,
|
|
rank: i % 2 ? 'VIP' : 'NON_VIP',
|
|
verified: i % 3 ? 'NOT_VERIFIED' : 'VERIFIED',
|
|
hobbies: ['fishing', 'basketball', 'piano'],
|
|
distance: `${40 + Math.random() * 40}km`,
|
|
location_area: 'Sai Kung',
|
|
greetings: 'Hi, I am ',
|
|
gender: 'man',
|
|
tall_cm: 172 + Math.random() * 10,
|
|
weight_kg: 60 + Math.random() * 50,
|
|
occupation: 'doctor',
|
|
language: ['English', 'French', 'Chinese'],
|
|
education: ['Degree of Computer'],
|
|
self_introduction: 'Get me know me before you love me. Get me know me before you love me.',
|
|
music: ['Classic', 'Classic', 'Classic', 'Classic', 'Classic', 'Classic'],
|
|
pets: ['Classic', 'Classic', 'Classic', 'Classic', 'Classic', 'Classic'],
|
|
character: ['Classic', 'Classic', 'Classic', 'Classic', 'Classic', 'Classic'],
|
|
avatar: '',
|
|
sex: i % 2 ? 'M' : 'F',
|
|
},
|
|
});
|
|
}
|
|
console.log('seed member done');
|
|
}
|
|
|
|
const Member = member()
|
|
.then(async () => {
|
|
await prisma.$disconnect();
|
|
})
|
|
.catch(async (e) => {
|
|
console.error(e);
|
|
await prisma.$disconnect();
|
|
process.exit(1);
|
|
});
|
|
|
|
export { Member };
|