prisma/reset-admin.ts

prisma/reset-admin.ts

基本信息

  • 类型: 数据库脚本 / CLI 工具
  • 路径: ./prisma/reset-admin.ts

功能描述

重置或创建管理员用户的脚本。用于开发环境快速设置管理员账号,支持密码重置和账号创建。

导出内容

  • 无(CLI 脚本,直接执行)

依赖导入

  • @prisma/client - Prisma ORM
  • bcryptjs - 密码哈希

使用方法

# 运行重置脚本
npx tsx prisma/reset-admin.ts

# 或在 package.json 中定义快捷命令
npm run db:reset-admin

功能逻辑

Upsert 操作

使用 Prisma 的 upsert 方法:

  • 存在: 更新密码和角色为 ADMIN
  • 不存在: 创建新的管理员用户

默认账号

字段
Emailadmin@prompts.chat
Usernameadmin
NameAdmin User
Passwordpassword123
RoleADMIN
Localeen

密码处理

  • 哈希算法: bcrypt
  • 轮数: 12
  • 明文密码: password123

使用场景

开发环境

  • 新环境快速设置管理员
  • 忘记管理员密码时重置
  • 初始化数据库后创建首用户

生产环境警告

⚠️ 不建议在生产环境直接使用

  • 默认密码过于简单
  • 应该在生产环境使用强密码
  • 考虑使用环境变量注入密码

输出信息

🔐 Resetting admin user...
✅ Admin user reset successfully!

📋 Credentials:
   Email:    admin@prompts.chat
   Password: password123

安全建议

  1. 首次登录后立即修改密码
  2. 生产环境禁用此脚本或使用强密码
  3. 考虑添加二次验证
← 返回目录