Merge branch 'main' of https://chochox.asia/ChoChoX/backmanager-server
This commit is contained in:
43
db.js
43
db.js
@@ -244,25 +244,25 @@ async function initDB() {
|
||||
// ============ 2.4 种子数据 ============
|
||||
await seedDepartmentsAndPermissions()
|
||||
await seedDefaultUsers()
|
||||
await seedBusinessData()
|
||||
// await seedBusinessData()
|
||||
|
||||
// ============ 2.5 数据库迁移(兼容已有数据的旧库) ============
|
||||
// 为财务部补上 product:read 权限
|
||||
try {
|
||||
const [financeDept] = await pool.query("SELECT id FROM departments WHERE name = 'finance' LIMIT 1")
|
||||
if (financeDept.length > 0) {
|
||||
const [prodPerm] = await pool.query("SELECT id FROM permissions WHERE name = 'product:read' LIMIT 1")
|
||||
if (prodPerm.length > 0) {
|
||||
await pool.query(
|
||||
'INSERT IGNORE INTO department_permissions (department_id, permission_id) VALUES (?, ?)',
|
||||
[financeDept[0].id, prodPerm[0].id]
|
||||
)
|
||||
console.log('[migrate] 财务部已补上 product:read 权限')
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.log('[migrate] 财务部权限迁移跳过:', e.message)
|
||||
}
|
||||
// // ============ 2.5 数据库迁移(兼容已有数据的旧库) ============
|
||||
// // 为财务部补上 product:read 权限
|
||||
// try {
|
||||
// const [financeDept] = await pool.query("SELECT id FROM departments WHERE name = 'finance' LIMIT 1")
|
||||
// if (financeDept.length > 0) {
|
||||
// const [prodPerm] = await pool.query("SELECT id FROM permissions WHERE name = 'product:read' LIMIT 1")
|
||||
// if (prodPerm.length > 0) {
|
||||
// await pool.query(
|
||||
// 'INSERT IGNORE INTO department_permissions (department_id, permission_id) VALUES (?, ?)',
|
||||
// [financeDept[0].id, prodPerm[0].id]
|
||||
// )
|
||||
// console.log('[migrate] 财务部已补上 product:read 权限')
|
||||
// }
|
||||
// }
|
||||
// } catch (e) {
|
||||
// console.log('[migrate] 财务部权限迁移跳过:', e.message)
|
||||
// }
|
||||
}
|
||||
|
||||
// ============ 3. 种子数据:部门与权限 ============
|
||||
@@ -374,7 +374,7 @@ async function seedDepartmentsAndPermissions() {
|
||||
console.log('[init] 已初始化部门-权限映射')
|
||||
}
|
||||
|
||||
// ============ 4. 种子数据:默认用户 ============
|
||||
// ============ 4. 种子数据:默认用户(仅保留总经理账号) ============
|
||||
async function seedDefaultUsers() {
|
||||
const hash = await bcrypt.hash('123456', 10)
|
||||
|
||||
@@ -415,15 +415,12 @@ async function seedDefaultUsers() {
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 1)`,
|
||||
[emp.name, emp.gender, emp.age, emp.education, emp.department, emp.entry_date, emp.position, emp.salary, emp.phone, emp.email]
|
||||
)
|
||||
const empId = empResult.insertId
|
||||
|
||||
// 再插入 users,关联 employee 和 department
|
||||
await pool.query(
|
||||
`INSERT INTO users (username, password, is_active, department_id, employee_id, role_level)
|
||||
VALUES (?, ?, 1, ?, ?, ?)`,
|
||||
[usr.username, hash, deptIdMap[usr.deptName], empId, usr.role_level]
|
||||
)
|
||||
console.log(`[init] 已创建用户 ${usr.username} (${emp.name} - ${emp.department})`)
|
||||
console.log(`[init] 已创建用户 ${usr.username} (${emp.name})`)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user