#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
数据库初始化脚本
创建必要的数据库表和初始数据
"""

import os
import sys
import logging

# 添加项目根目录到Python路径
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))

from app.core.system.auth import init_db
from app.config.config import config, current_env

# 获取配置
app_config = config[current_env]

# 配置日志
log_level_name = getattr(app_config, 'LOG_LEVEL', 'INFO')
log_level = getattr(logging, log_level_name)
log_format = getattr(app_config, 'LOG_FORMAT', '%(asctime)s - %(name)s - %(levelname)s - %(message)s')

logging.basicConfig(
    level=log_level,
    format=log_format
)
logger = logging.getLogger(__name__)

def init_database():
    """
    初始化数据库，创建必要的表和索引
    """
    logger.info("开始初始化数据库...")
    
    # 初始化用户表
    if init_db():
        logger.info("用户表初始化成功")
    else:
        logger.error("用户表初始化失败")
    
    # 可以在这里添加其他表的初始化
    
    logger.info("数据库初始化完成")

if __name__ == "__main__":
    try:
        init_database()
    except Exception as e:
        logger.error(f"数据库初始化失败: {str(e)}")
        sys.exit(1)
    
    sys.exit(0) 