Files
member-platform/docs/DB_SCHEMA.md

1.2 KiB
Raw Blame History

DB Schema現行

真實來源

  • backend/scripts/init_schema.sql
  • 線上增量:backend/scripts/migrate_add_users_username.sql
  • 欄位重命名增量:backend/scripts/migrate_rename_identity_columns.sql

主要表

  • users
    • user_sub UNIQUE
    • idp_user_id VARCHAR(128)
    • username UNIQUE
    • email UNIQUE
    • display_name
    • is_active, status, timestamps
  • companies
  • sitescompany_id -> companies.id
  • systems
  • modulessystem_key -> systems.system_key
  • permission_groups
  • permission_group_membersgroup + user_sub
  • permission_group_permissionsgroup + site/system/module/action
  • user_scope_permissions(相容保留)
  • api_clients(保留給機器對機器用途)

權限規則

  • scope_type='site'
  • action in ('view','edit')

會員與 IdP 對齊Keycloak 優先)

  • users.user_sub 對應 IdP 主體識別
  • users.username 對應 IdP username
  • users.display_name 對應 IdP 顯示名稱

快速檢查 SQL

SELECT column_name, data_type
FROM information_schema.columns
WHERE table_name='users'
ORDER BY ordinal_position;

SELECT COUNT(*) FROM users WHERE username IS NULL;