시드 생성
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
up: async (queryInterface, Sequelize) => {
|
||||
// 1. 부모 메뉴 생성
|
||||
await queryInterface.bulkInsert('Menus', [{
|
||||
title: '클럽 관리',
|
||||
icon: 'pi pi-building',
|
||||
to: '/club',
|
||||
role: 'user',
|
||||
order: 1,
|
||||
visible: true,
|
||||
parentId: null,
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date()
|
||||
}]);
|
||||
|
||||
// 2. 부모 메뉴 id select
|
||||
const [results] = await queryInterface.sequelize.query(
|
||||
"SELECT id FROM Menus WHERE title='클럽 관리' AND `to`='/club' ORDER BY id DESC LIMIT 1"
|
||||
);
|
||||
const clubMenuId = results[0].id;
|
||||
|
||||
// 3. 자식 메뉴들 생성
|
||||
await queryInterface.bulkInsert('Menus', [
|
||||
{
|
||||
title: '대시보드',
|
||||
icon: 'pi pi-home',
|
||||
to: '/club',
|
||||
role: 'user',
|
||||
order: 1,
|
||||
visible: true,
|
||||
parentId: clubMenuId,
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date()
|
||||
},
|
||||
{
|
||||
title: '회원 관리',
|
||||
icon: 'pi pi-users',
|
||||
to: '/club/members',
|
||||
role: 'user',
|
||||
order: 2,
|
||||
visible: true,
|
||||
parentId: clubMenuId,
|
||||
featureCode: 'member_management',
|
||||
requiredSubscriptionTier: 'basic',
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date()
|
||||
},
|
||||
{
|
||||
title: '이벤트 관리',
|
||||
icon: 'pi pi-calendar',
|
||||
to: '/club/events',
|
||||
role: 'user',
|
||||
order: 3,
|
||||
visible: true,
|
||||
parentId: clubMenuId,
|
||||
featureCode: 'event_management',
|
||||
requiredSubscriptionTier: 'standard',
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date()
|
||||
},
|
||||
{
|
||||
title: '이벤트 캘린더',
|
||||
icon: 'pi pi-calendar-plus',
|
||||
to: '/club/events/calendar',
|
||||
role: 'user',
|
||||
order: 4,
|
||||
visible: true,
|
||||
parentId: clubMenuId,
|
||||
featureCode: 'event_calendar',
|
||||
requiredSubscriptionTier: 'standard',
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date()
|
||||
},
|
||||
{
|
||||
title: '통계',
|
||||
icon: 'pi pi-chart-line',
|
||||
to: '/club/statistics',
|
||||
role: 'user',
|
||||
order: 5,
|
||||
visible: true,
|
||||
parentId: clubMenuId,
|
||||
featureCode: 'statistics',
|
||||
requiredSubscriptionTier: 'premium',
|
||||
createdAt: new Date(),
|
||||
updatedAt: new Date()
|
||||
}
|
||||
]);
|
||||
},
|
||||
|
||||
down: async (queryInterface, Sequelize) => {
|
||||
await queryInterface.bulkDelete('Menus', null, {});
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user