Files
HKSingleParty/03_source/cms_backend/prisma/seeds/Member.ts

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