Files
2026-04-23 18:58:13 +08:00

1.7 KiB
Raw Permalink Blame History

PostgreSQL 脚本

internal/iam/entityinternal/system/entity 中的 GORM 模型对齐,便于手工建库或对照 AutoMigrate 结果。

建议顺序

  1. 001_iam.sql — IAM 表
  2. 002_system.sqlsystem_param
  3. 003_seed_platform_tenant.sql(可选)— 平台租户一行
  4. 004_seed_platform_builtin.sql(可选)— 内置角色(tenant_adminuser+ 平台租户下默认管理员 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_menuON 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,可将本目录脚本作为文档或与迁移工具对照,避免重复执行冲突。