# 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`,可将本目录脚本作为文档或与迁移工具对照,避免重复执行冲突。