#!/usr/bin/env python3 """Initialize database and create tables.""" import argparse import sys from pathlib import Path # Add project root to path project_root = Path(__file__).parent.parent sys.path.insert(0, str(project_root)) from src.data.database import init_database # noqa: E402 from src.logging import get_logger # noqa: E402 logger = get_logger(__name__) def main(): """Main entry point.""" parser = argparse.ArgumentParser(description="Initialize database and create tables") parser.add_argument( "--skip-tables", action="store_true", help="Skip table creation (useful for testing connection only)", ) parser.add_argument( "--verbose", "-v", action="store_true", help="Enable verbose logging", ) args = parser.parse_args() try: logger.info("Initializing database...") init_database(create_tables=not args.skip_tables) logger.info("Database initialization completed successfully") return 0 except Exception as e: logger.error(f"Database initialization failed: {e}", exc_info=True) return 1 if __name__ == "__main__": sys.exit(main())