28 lines
1.7 KiB
Markdown
28 lines
1.7 KiB
Markdown
# PostgreSQL 脚本
|
||
|
||
与 `internal/iam/entity`、`internal/system/entity` 中的 GORM 模型对齐,便于手工建库或对照 AutoMigrate 结果。
|
||
|
||
**建议顺序**
|
||
|
||
1. `001_iam.sql` — IAM 表
|
||
2. `002_system.sql` — `system_param`
|
||
3. `003_seed_platform_tenant.sql`(可选)— 平台租户一行
|
||
4. `004_seed_platform_builtin.sql`(可选)— 内置角色(`tenant_admin`、`user`)+ 平台租户下默认管理员 `admin` / `Admin@123`,并为 `tenant_admin` 绑定当前 `iam_menu` 中全部菜单(与 `TenantService.Create` 行为一致)
|
||
5. `005_oauth.sql`(可选)— OAuth2 客户端与令牌表,并插入开发用公开客户端 `spa`
|
||
6. `006_seed_iam_menu_full.sql`(可选)— 与当前后端模块对齐的侧栏菜单(不含「概览」:`/dashboard` 由前端壳层固定展示、全员可进);含工作台下「个人中心」、系统参数、IAM 子模块;并为平台超级管理员补 `iam_role_menu`(`ON CONFLICT DO NOTHING`)
|
||
|
||
**执行示例**
|
||
|
||
```bash
|
||
psql "$DATABASE_URL" -f migrations/postgres/001_iam.sql
|
||
psql "$DATABASE_URL" -f migrations/postgres/002_system.sql
|
||
psql "$DATABASE_URL" -f migrations/postgres/003_seed_platform_tenant.sql
|
||
psql "$DATABASE_URL" -f migrations/postgres/004_seed_platform_builtin.sql
|
||
psql "$DATABASE_URL" -f migrations/postgres/005_oauth.sql
|
||
psql "$DATABASE_URL" -f migrations/postgres/006_seed_iam_menu_full.sql
|
||
```
|
||
|
||
生产环境请在首次登录后修改默认密码;若需更换哈希,可用与业务相同的 `bcrypt.DefaultCost` 重新生成 `password_hash` 再更新 `iam_user`。
|
||
|
||
若已使用 GORM `AutoMigrate`,可将本目录脚本作为文档或与迁移工具对照,避免重复执行冲突。
|