PostgreSQL 脚本
与 internal/iam/entity、internal/system/entity 中的 GORM 模型对齐,便于手工建库或对照 AutoMigrate 结果。
建议顺序
001_iam.sql— IAM 表002_system.sql—system_param003_seed_platform_tenant.sql(可选)— 平台租户一行004_seed_platform_builtin.sql(可选)— 内置角色(tenant_admin、user)+ 平台租户下默认管理员admin/Admin@123,并为tenant_admin绑定当前iam_menu中全部菜单(与TenantService.Create行为一致)005_oauth.sql(可选)— OAuth2 客户端与令牌表,并插入开发用公开客户端spa006_seed_iam_menu_full.sql(可选)— 与当前后端模块对齐的侧栏菜单(不含「概览」:/dashboard由前端壳层固定展示、全员可进);含工作台下「个人中心」、系统参数、IAM 子模块;并为平台超级管理员补iam_role_menu(ON CONFLICT DO NOTHING)
执行示例
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,可将本目录脚本作为文档或与迁移工具对照,避免重复执行冲突。