seeder
Deskripsi: - membuat seeder npx prisma db push - membuat data json role user - membuat data json user No Issues
This commit is contained in:
@@ -8,6 +8,9 @@
|
||||
"start": "next start",
|
||||
"lint": "next lint"
|
||||
},
|
||||
"prisma": {
|
||||
"seed": "tsx prisma/seed.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@mantine/carousel": "^7.11.0",
|
||||
"@mantine/charts": "^7.11.0",
|
||||
@@ -53,4 +56,4 @@
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC"
|
||||
}
|
||||
}
|
||||
@@ -76,7 +76,7 @@ model User {
|
||||
nik String @unique
|
||||
name String
|
||||
phone String @unique
|
||||
email String @unique
|
||||
email String? @unique
|
||||
gender String @default("M") //M= Male, F= Female
|
||||
isActive Boolean @default(true)
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
51
prisma/seed.ts
Normal file
51
prisma/seed.ts
Normal file
@@ -0,0 +1,51 @@
|
||||
import { seederUser, seederUserRole } from '@/module/seeder';
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
const prisma = new PrismaClient()
|
||||
|
||||
async function main() {
|
||||
// USER ROLE
|
||||
for (let data of seederUserRole) {
|
||||
await prisma.userRole.upsert({
|
||||
where: {
|
||||
id: data.id
|
||||
},
|
||||
update: {
|
||||
name: data.name
|
||||
},
|
||||
create: {
|
||||
id: data.id,
|
||||
name: data.name,
|
||||
desc: data.desc
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
// USER
|
||||
for (let data of seederUser) {
|
||||
await prisma.user.upsert({
|
||||
where: {
|
||||
id: data.id
|
||||
},
|
||||
update: {
|
||||
name: data.name
|
||||
},
|
||||
create: {
|
||||
id: data.id,
|
||||
idUserRole: data.idUserRole,
|
||||
nik: data.nik,
|
||||
name: data.name,
|
||||
phone: data.phone,
|
||||
email: data.email,
|
||||
gender: data.gender
|
||||
},
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
main().then(async () => {
|
||||
await prisma.$disconnect()
|
||||
}).catch(async (e) => {
|
||||
console.error(e)
|
||||
await prisma.$disconnect()
|
||||
process.exit(1)
|
||||
})
|
||||
29
src/module/seeder/data/user.json
Normal file
29
src/module/seeder/data/user.json
Normal file
@@ -0,0 +1,29 @@
|
||||
[
|
||||
{
|
||||
"id": "devAmalia",
|
||||
"idUserRole": "dev",
|
||||
"nik": "1111111",
|
||||
"name": "Amalia",
|
||||
"phone": "6298980185458",
|
||||
"email": "amalia@bip.com",
|
||||
"gender": "F"
|
||||
},
|
||||
{
|
||||
"id": "devLukman",
|
||||
"idUserRole": "dev",
|
||||
"nik": "2222222",
|
||||
"name": "Lukman",
|
||||
"phone": "6287701790942",
|
||||
"email": "lukman@bip.com",
|
||||
"gender": "M"
|
||||
},
|
||||
{
|
||||
"id": "devMalik",
|
||||
"idUserRole": "dev",
|
||||
"nik": "3333333",
|
||||
"name": "Malik",
|
||||
"phone": "6289697338821",
|
||||
"email": "malik@bip.com",
|
||||
"gender": "M"
|
||||
}
|
||||
]
|
||||
32
src/module/seeder/data/user_role.json
Normal file
32
src/module/seeder/data/user_role.json
Normal file
@@ -0,0 +1,32 @@
|
||||
[
|
||||
{
|
||||
"id": "dev",
|
||||
"name": "Developer",
|
||||
"desc": "-"
|
||||
},
|
||||
{
|
||||
"id": "supadmin",
|
||||
"name": "Super Admin",
|
||||
"desc": "-"
|
||||
},
|
||||
{
|
||||
"id": "cosupadmin",
|
||||
"name": "Wakil Super Admin",
|
||||
"desc": "-"
|
||||
},
|
||||
{
|
||||
"id": "admin",
|
||||
"name": "Admin",
|
||||
"desc": "-"
|
||||
},
|
||||
{
|
||||
"id": "coadmin",
|
||||
"name": "Wakil Admin",
|
||||
"desc": "-"
|
||||
},
|
||||
{
|
||||
"id": "user",
|
||||
"name": "User",
|
||||
"desc": "-"
|
||||
}
|
||||
]
|
||||
4
src/module/seeder/index.ts
Normal file
4
src/module/seeder/index.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
import seederUserRole from "./data/user_role.json";
|
||||
import seederUser from "./data/user.json";
|
||||
|
||||
export { seederUserRole, seederUser }
|
||||
Reference in New Issue
Block a user