upd: update struktur database
Deskripsi: - update struktur database - tambah table admin dan role admin - update seeder No Issues
This commit is contained in:
@@ -13,6 +13,28 @@ datasource db {
|
||||
url = env("DATABASE_URL")
|
||||
}
|
||||
|
||||
model AdminRole {
|
||||
id String @id @default(cuid())
|
||||
name String
|
||||
isActive Boolean @default(true)
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
Admin Admin[]
|
||||
}
|
||||
|
||||
model Admin {
|
||||
id String @id @default(cuid())
|
||||
AdminRole AdminRole @relation(fields: [idAdminRole], references: [id])
|
||||
idAdminRole String
|
||||
name String
|
||||
phone String @unique
|
||||
email String? @unique
|
||||
gender String @default("M") //M= Male, F= Female
|
||||
isActive Boolean @default(true)
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
||||
model UserRole {
|
||||
id String @id @default(cuid())
|
||||
name String
|
||||
@@ -67,12 +89,12 @@ model User {
|
||||
id String @id @default(cuid())
|
||||
UserRole UserRole @relation(fields: [idUserRole], references: [id])
|
||||
idUserRole String
|
||||
Village Village? @relation(fields: [idVillage], references: [id])
|
||||
idVillage String?
|
||||
Group Group? @relation(fields: [idGroup], references: [id])
|
||||
idGroup String?
|
||||
Position Position? @relation(fields: [idPosition], references: [id])
|
||||
idPosition String?
|
||||
Village Village @relation(fields: [idVillage], references: [id])
|
||||
idVillage String
|
||||
Group Group @relation(fields: [idGroup], references: [id])
|
||||
idGroup String
|
||||
Position Position @relation(fields: [idPosition], references: [id])
|
||||
idPosition String
|
||||
nik String @unique
|
||||
name String
|
||||
phone String @unique
|
||||
|
||||
110
prisma/seed.ts
110
prisma/seed.ts
@@ -1,8 +1,102 @@
|
||||
import { seederUser, seederUserRole } from '@/module/seeder';
|
||||
import { seederAdmin, seederAdminRole, seederDesa, seederGroup, seederPosition, seederUser, seederUserRole } from '@/module/seeder';
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
const prisma = new PrismaClient()
|
||||
|
||||
async function main() {
|
||||
// ADMIN ROLE
|
||||
for (let data of seederAdminRole) {
|
||||
await prisma.adminRole.upsert({
|
||||
where: {
|
||||
id: data.id
|
||||
},
|
||||
update: {
|
||||
name: data.name
|
||||
},
|
||||
create: {
|
||||
id: data.id,
|
||||
name: data.name,
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
// ADMIN
|
||||
for (let data of seederAdmin) {
|
||||
await prisma.admin.upsert({
|
||||
where: {
|
||||
id: data.id
|
||||
},
|
||||
update: {
|
||||
name: data.name,
|
||||
idAdminRole: data.idAdminRole,
|
||||
phone: data.phone,
|
||||
email: data.email,
|
||||
gender: data.gender
|
||||
},
|
||||
create: {
|
||||
id: data.id,
|
||||
idAdminRole: data.idAdminRole,
|
||||
phone: data.phone,
|
||||
email: data.email,
|
||||
gender: data.gender,
|
||||
name: data.name
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
// DESA
|
||||
for (let data of seederDesa) {
|
||||
await prisma.village.upsert({
|
||||
where: {
|
||||
id: data.id
|
||||
},
|
||||
update: {
|
||||
name: data.name,
|
||||
desc: data.desc
|
||||
},
|
||||
create: {
|
||||
id: data.id,
|
||||
name: data.name,
|
||||
desc: data.desc
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// GROUP
|
||||
for (let data of seederGroup) {
|
||||
await prisma.group.upsert({
|
||||
where: {
|
||||
id: data.id
|
||||
},
|
||||
update: {
|
||||
name: data.name,
|
||||
idVillage: data.idVillage
|
||||
},
|
||||
create: {
|
||||
id: data.id,
|
||||
name: data.name,
|
||||
idVillage: data.idVillage
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// POSITION
|
||||
for (let data of seederPosition) {
|
||||
await prisma.position.upsert({
|
||||
where: {
|
||||
id: data.id
|
||||
},
|
||||
update: {
|
||||
name: data.name,
|
||||
idGroup: data.idGroup
|
||||
},
|
||||
create: {
|
||||
id: data.id,
|
||||
name: data.name,
|
||||
idGroup: data.idGroup
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// USER ROLE
|
||||
for (let data of seederUserRole) {
|
||||
await prisma.userRole.upsert({
|
||||
@@ -27,10 +121,21 @@ async function main() {
|
||||
id: data.id
|
||||
},
|
||||
update: {
|
||||
name: data.name
|
||||
idVillage: data.idVillage,
|
||||
idGroup: data.idGroup,
|
||||
idPosition: data.idPosition,
|
||||
idUserRole: data.idUserRole,
|
||||
nik: data.nik,
|
||||
name: data.name,
|
||||
phone: data.phone,
|
||||
email: data.email,
|
||||
gender: data.gender
|
||||
},
|
||||
create: {
|
||||
id: data.id,
|
||||
idVillage: data.idVillage,
|
||||
idGroup: data.idGroup,
|
||||
idPosition: data.idPosition,
|
||||
idUserRole: data.idUserRole,
|
||||
nik: data.nik,
|
||||
name: data.name,
|
||||
@@ -40,6 +145,7 @@ async function main() {
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
main().then(async () => {
|
||||
|
||||
Reference in New Issue
Block a user