-- アプリバージョン管理テーブル作成
-- 2025年8月27日 - サーバーAPI変更要求書対応

CREATE TABLE IF NOT EXISTS app_versions (
    id SERIAL PRIMARY KEY,
    version VARCHAR(20) NOT NULL,
    platform VARCHAR(10) NOT NULL CHECK (platform IN ('android', 'ios')),
    build_number VARCHAR(20),
    is_latest BOOLEAN DEFAULT FALSE,
    is_required BOOLEAN DEFAULT FALSE,
    update_message TEXT,
    download_url TEXT,
    release_date TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    UNIQUE(version, platform)
);

-- インデックス作成
CREATE INDEX idx_app_versions_platform ON app_versions(platform);
CREATE INDEX idx_app_versions_latest ON app_versions(is_latest) WHERE is_latest = TRUE;

-- 初期データ挿入（例）
INSERT INTO app_versions (version, platform, build_number, is_latest, is_required, update_message, download_url)
VALUES 
    ('1.3.0', 'android', '130', TRUE, FALSE, '新機能が追加されました。更新を必ずしてください。', 'https://play.google.com/store/apps/details?id=com.gifurogeining.app'),
    ('1.3.0', 'ios', '130', TRUE, FALSE, '新機能が追加されました。更新を必ずしてください。', 'https://apps.apple.com/jp/app/id123456789'),
    ('1.2.0', 'android', '120', FALSE, FALSE, '前バージョン', 'https://play.google.com/store/apps/details?id=com.gifurogeining.app'),
    ('1.2.0', 'ios', '120', FALSE, FALSE, '前バージョン', 'https://apps.apple.com/jp/app/id123456789');

COMMENT ON TABLE app_versions IS 'アプリバージョン管理テーブル';
COMMENT ON COLUMN app_versions.version IS 'セマンティックバージョン (1.2.3)';
COMMENT ON COLUMN app_versions.platform IS 'プラットフォーム (android/ios)';
COMMENT ON COLUMN app_versions.build_number IS 'ビルド番号';
COMMENT ON COLUMN app_versions.is_latest IS '最新版フラグ';
COMMENT ON COLUMN app_versions.is_required IS '強制更新フラグ';
COMMENT ON COLUMN app_versions.update_message IS 'ユーザー向け更新メッセージ';
COMMENT ON COLUMN app_versions.download_url IS 'アプリストアURL';
