- member.google_id 컬럼 추가(멱등 ALTER) + 기존 GOOGLE 계정 sub 백필 - googleLogin: google_id 조회 → 없으면 검증된 동일 이메일 계정(LOCAL 우선)에 연결 → 그래도 없으면 신규 생성. provider 는 유지(아이디 로그인/프로필 편집 보존) - MemberMapper: findByGoogleId/findByEmailForLink/linkGoogle 추가, google_id 매핑 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -20,6 +20,13 @@ CREATE TABLE IF NOT EXISTS member (
|
||||
UNIQUE KEY uk_member_provider (provider, provider_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- 구글 계정 연결: 기존 LOCAL 계정에 구글 sub 를 연결해 같은 이메일이면 한 계정으로 통합한다.
|
||||
-- (provider 는 LOCAL 로 유지 → 아이디/비밀번호 로그인·프로필 편집 그대로) MariaDB IF NOT EXISTS 로 멱등.
|
||||
ALTER TABLE member ADD COLUMN IF NOT EXISTS google_id VARCHAR(100) NULL COMMENT '구글 sub (계정 연결용)' AFTER provider_id;
|
||||
ALTER TABLE member ADD UNIQUE KEY IF NOT EXISTS uk_member_google_id (google_id);
|
||||
-- 기존 구글 계정(provider=GOOGLE)의 sub 를 google_id 로 백필(멱등 — 이미 채워졌으면 아무 것도 안 함).
|
||||
UPDATE member SET google_id = provider_id WHERE provider = 'GOOGLE' AND google_id IS NULL AND provider_id IS NOT NULL;
|
||||
|
||||
-- ============================================================
|
||||
-- 앱 전역 설정 (단일 행, id=1). 관리자 화면에서 변경.
|
||||
-- ============================================================
|
||||
|
||||
Reference in New Issue
Block a user