prisma/reset-admin.ts
基本信息
- 类型: 数据库脚本 / CLI 工具
- 路径:
./prisma/reset-admin.ts
功能描述
重置或创建管理员用户的脚本。用于开发环境快速设置管理员账号,支持密码重置和账号创建。
导出内容
- 无(CLI 脚本,直接执行)
依赖导入
@prisma/client- Prisma ORMbcryptjs- 密码哈希
使用方法
# 运行重置脚本
npx tsx prisma/reset-admin.ts
# 或在 package.json 中定义快捷命令
npm run db:reset-admin
功能逻辑
Upsert 操作
使用 Prisma 的 upsert 方法:
- 存在: 更新密码和角色为 ADMIN
- 不存在: 创建新的管理员用户
默认账号
| 字段 | 值 |
|---|---|
| admin@prompts.chat | |
| Username | admin |
| Name | Admin User |
| Password | password123 |
| Role | ADMIN |
| Locale | en |
密码处理
- 哈希算法: bcrypt
- 轮数: 12
- 明文密码:
password123
使用场景
开发环境
- 新环境快速设置管理员
- 忘记管理员密码时重置
- 初始化数据库后创建首用户
生产环境警告
⚠️ 不建议在生产环境直接使用
- 默认密码过于简单
- 应该在生产环境使用强密码
- 考虑使用环境变量注入密码
输出信息
🔐 Resetting admin user...
✅ Admin user reset successfully!
📋 Credentials:
Email: admin@prompts.chat
Password: password123
安全建议
- 首次登录后立即修改密码
- 生产环境禁用此脚本或使用强密码
- 考虑添加二次验证