Files
dax-ml/scripts/setup_database.py
2026-01-05 11:34:18 +02:00

48 lines
1.2 KiB
Python
Executable File

#!/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())