首次初始化必读
为什么
章节:为什么模块的开通状态存在数据库的 org_entitlements 表里,判定的安全默认是「什么都没开通」:查不到记录时 resolveEntitlement() 只返回 ['core'](仅底座)。
这个默认值是刻意的:宁可让一个新装的实例看起来空,也不能让一个开通记录丢失的实例把不该开的能力开出来。
种子数据里写了一条全开的长效开通记录(catalog + scheduling + collection +
attendance + grades 五块,到期日 2099-12-31)。不跑种子就没有这条记录。
所以
章节:所以make db-reset # 先这个# 再登录make db-reset = truncate + migrate + seed,是破坏性操作,只在首次初始化或确定要重置时跑。已经有真实数据的库上要加数据,用 make db-seed;升级用 make db-migrate,见升级。
种子给了什么
章节:种子给了什么一个演示机构、4 个演示账号、2 个校区 / 2 位老师 / 5 个班级和几节课次,纯本地合成数据,不连任何外部系统。
| 角色 | 权限范围 |
|---|---|
| 总部超管 | 全部权限点,跨全部校区 |
| 校区管理员 | 排课 / 看板 / 基础档案 / 打印,加上联系人 · 报读 · 点名 · 报表 · 成绩管理,限西湖校区 |
| 教务 | 同上但没有看板,限西湖校区 |
| 老师 | 查看课表 + 收集提交 + 打印 + 任教课点名 + 任教班成绩,西湖 + 滨江两校区 |
「权限点」决定能做什么、「校区」决定能对谁做,两者正交——见核心概念。
四个账号的完整手机号与初始密码,在 make db-reset 运行结束时打印在终端上。错过了就再跑一次,或从容器日志里翻。
演示密码
章节:演示密码初始密码由环境变量 SEED_DEMO_PASSWORD 决定:
- 留空(缺省,推荐)——每次播种现场随机生成 16 位,只在终端打印一次。
- 设成固定值——本地反复重建数据库时省事;公网可访问的实例绝不要这么做,固定的演示密码等于把管理员账号公开。
唯一的例外是公开演示站:用 deploy/compose.public-demo.yml(或叠
deploy/compose.demo-site.yml)每天自动还原时,SEED_DEMO_PASSWORD 必须设成固定值——否则每天还原都会换一个随机密码,第二天没人知道演示账号怎么登。做法见生产部署的「公开演示站」一节。
首次初始化之后
章节:首次初始化之后本页是 CE README「快速开始」一节的展开;两处不一致时,以 README 为准。
© 2026 OpSkool 办学帮 · 苏ICP备2025224982号-3