MosswartOverlord/inventory-service/init_db.py
2025-06-10 19:21:21 +00:00

37 lines
No EOL
978 B
Python

#!/usr/bin/env python3
"""
Initialize the inventory service database.
Creates all tables and performs initial setup.
"""
import asyncio
import logging
import os
import sqlalchemy as sa
from database import Base, DATABASE_URL, create_indexes
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
async def init_database():
"""Initialize database tables and indexes."""
try:
# Create engine
engine = sa.create_engine(DATABASE_URL)
# Create all tables
logger.info("Creating database tables...")
Base.metadata.create_all(engine)
# Create indexes
logger.info("Creating performance indexes...")
create_indexes(engine)
logger.info("Database initialization completed successfully")
except Exception as e:
logger.error(f"Database initialization failed: {e}")
raise
if __name__ == "__main__":
asyncio.run(init_database())