fix: 放行 GitHub 和 Google 登录来源约束

This commit is contained in:
lyen1688
2026-05-06 19:55:39 +08:00
committed by lyen1688
parent 7f185422a5
commit 81edaa8986
2 changed files with 40 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
ALTER TABLE users
DROP CONSTRAINT IF EXISTS users_signup_source_check;
ALTER TABLE users
ADD CONSTRAINT users_signup_source_check
CHECK (signup_source IN ('email', 'linuxdo', 'wechat', 'oidc', 'github', 'google'));
ALTER TABLE auth_identities
DROP CONSTRAINT IF EXISTS auth_identities_provider_type_check;
ALTER TABLE auth_identities
ADD CONSTRAINT auth_identities_provider_type_check
CHECK (provider_type IN ('email', 'linuxdo', 'wechat', 'oidc', 'github', 'google'));
ALTER TABLE auth_identity_channels
DROP CONSTRAINT IF EXISTS auth_identity_channels_provider_type_check;
ALTER TABLE auth_identity_channels
ADD CONSTRAINT auth_identity_channels_provider_type_check
CHECK (provider_type IN ('email', 'linuxdo', 'wechat', 'oidc', 'github', 'google'));
ALTER TABLE pending_auth_sessions
DROP CONSTRAINT IF EXISTS pending_auth_sessions_provider_type_check;
ALTER TABLE pending_auth_sessions
ADD CONSTRAINT pending_auth_sessions_provider_type_check
CHECK (provider_type IN ('email', 'linuxdo', 'wechat', 'oidc', 'github', 'google'));

View File

@@ -142,3 +142,16 @@ func TestMigration134AddsAffiliateLedgerAuditFieldsWithoutJSONCast(t *testing.T)
require.Contains(t, sql, "COUNT(*) OVER (PARTITION BY ual.id) AS ledger_match_count")
require.NotContains(t, sql, "detail::jsonb")
}
func TestMigration135AllowsGitHubAndGoogleAuthProviders(t *testing.T) {
content, err := FS.ReadFile("135_allow_email_oauth_provider_types.sql")
require.NoError(t, err)
sql := string(content)
require.Contains(t, sql, "users_signup_source_check")
require.Contains(t, sql, "auth_identities_provider_type_check")
require.Contains(t, sql, "auth_identity_channels_provider_type_check")
require.Contains(t, sql, "pending_auth_sessions_provider_type_check")
require.Contains(t, sql, "'github'")
require.Contains(t, sql, "'google'")
}