feat: first commit
This commit is contained in:
51
server/prisma/seed.ts
Normal file
51
server/prisma/seed.ts
Normal file
@@ -0,0 +1,51 @@
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
enum PermissionType {
|
||||
Menu,
|
||||
}
|
||||
|
||||
async function main() {
|
||||
await prisma.sysUser.upsert({
|
||||
where: { account: 'admin' },
|
||||
update: {},
|
||||
create: {
|
||||
name: '管理员',
|
||||
account: 'admin',
|
||||
password: '$2a$10$rWb52cHK1hrWuQQg3LiOJ.crDfIqjoOIoglGM96a.Ao1DL/dQwKCu',
|
||||
passwordSalt: '$2a$10$rWb52cHK1hrWuQQg3LiOJ.',
|
||||
status: 1,
|
||||
},
|
||||
});
|
||||
const menus = [
|
||||
{ name: '用户管理', url: 'user', parentId: 0 },
|
||||
{ name: '角色管理', url: 'role', parentId: 0 },
|
||||
{ name: '菜单管理', url: 'menu', parentId: 0 },
|
||||
];
|
||||
|
||||
for (const menu of menus) {
|
||||
// 创建菜单
|
||||
await prisma.$transaction(async (_prisma) => {
|
||||
const { id: menuId } = await _prisma.sysMenu.create({ data: menu });
|
||||
// 创建菜单权限
|
||||
const { id: permissionId } = await _prisma.sysPermission.create({
|
||||
data: { type: PermissionType.Menu },
|
||||
});
|
||||
// 关联权限和菜单
|
||||
await _prisma.sysMenuPermission.create({
|
||||
data: { menuId, permissionId },
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
main()
|
||||
.then(async () => {
|
||||
console.log('seed done!');
|
||||
await prisma.$disconnect();
|
||||
})
|
||||
.catch(async (e) => {
|
||||
console.error(e);
|
||||
await prisma.$disconnect();
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user