Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions src/main/resources/db/migration/V14__create_fcm_token_tablel.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
CREATE TABLE fcm_tokens (

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge 새 마이그레이션 버전을 V15 이후로 재번호하세요

이 변경은 이미 존재하는 V15__create_wishlist_table.sql보다 낮은 버전(V14)을 뒤늦게 추가하므로, application-dev.yaml/application-prod.yamlout-of-order 설정이 없는 현재 Flyway 구성에서는 V15까지 적용된 환경에서 이 스크립트가 ignored(또는 validate 단계에서 실패)되어 fcm_tokens 테이블이 생성되지 않을 수 있습니다; 그 결과 이후 FCM 토큰 저장 로직이 배포되면 프로덕션에서 테이블 미존재 오류가 발생할 수 있으니, 이 스크립트는 V16+로 재번호해 순차 적용되게 해야 합니다.

Useful? React with 👍 / 👎.

id BIGSERIAL PRIMARY KEY,
user_id BIGINT,
token VARCHAR(255) NOT NULL,
device_type VARCHAR(20) NOT NULL,
device_id VARCHAR(100) NOT NULL,
device_model VARCHAR(100),
os_version VARCHAR(50),
app_version VARCHAR(50),
is_active BOOLEAN DEFAULT true NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
last_used_at TIMESTAMP
);

-- 인덱스 생성
CREATE INDEX idx_fcm_tokens_user_id ON fcm_tokens(user_id) WHERE user_id IS NOT NULL;
CREATE INDEX idx_fcm_tokens_device_id ON fcm_tokens(device_id);
CREATE INDEX idx_fcm_tokens_device_type ON fcm_tokens(device_type);
CREATE INDEX idx_fcm_tokens_is_active ON fcm_tokens(is_active);
CREATE UNIQUE INDEX idx_fcm_tokens_token ON fcm_tokens(token);
CREATE UNIQUE INDEX idx_fcm_tokens_user_device ON fcm_tokens(user_id, device_id)
WHERE user_id IS NOT NULL;
Loading