-- BlueArchive Toolkit 数据库初始化脚本
-- 此脚本在 PostgreSQL 容器首次启动时自动执行

-- 创建扩展
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE EXTENSION IF NOT EXISTS "pg_trgm";  -- 用于模糊搜索

-- 创建 schema
CREATE SCHEMA IF NOT EXISTS bat;

-- 设置默认 schema
SET search_path TO bat, public;

-- 创建基础表（详细表结构将在 migrations 中定义）

-- 版本信息表
CREATE TABLE IF NOT EXISTS bat.schema_version (
    version VARCHAR(50) PRIMARY KEY,
    applied_at TIMESTAMP DEFAULT NOW(),
    description TEXT
);

-- 插入初始版本
INSERT INTO bat.schema_version (version, description)
VALUES ('0.1.0', '初始化数据库结构')
ON CONFLICT (version) DO NOTHING;

-- 授权
GRANT ALL PRIVILEGES ON SCHEMA bat TO bat_user;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA bat TO bat_user;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA bat TO bat_user;

-- 完成
DO $$
BEGIN
    RAISE NOTICE '数据库初始化完成！';
END $$;
