Commit 86cb936c authored by Your Name's avatar Your Name

Fix database initialization order - initialize with MySQL config before analytics

- Move analytics initialization to AFTER database config is loaded
- Prevents DatabaseRegistry from creating SQLite singleton before MySQL config is available
- Fixes issue where db was initialized twice (first with defaults, then with config)
parent a8c32565
...@@ -666,11 +666,12 @@ def initialize_app(custom_config_dir=None): ...@@ -666,11 +666,12 @@ def initialize_app(custom_config_dir=None):
} }
# Initialize analytics with the config database # Initialize analytics with the config database
from aisbf.analytics import initialize_analytics # NOTE: Database will be initialized later with proper config
from aisbf.database import DatabaseRegistry # from aisbf.analytics import initialize_analytics
db = DatabaseRegistry.get_config_database() # from aisbf.database import DatabaseRegistry
initialize_analytics(db) # db = DatabaseRegistry.get_config_database()
logger.info("Analytics module initialized") # initialize_analytics(db)
# logger.info("Analytics module initialized")
_initialized = True _initialized = True
logger.info("App initialization complete") logger.info("App initialization complete")
...@@ -997,6 +998,12 @@ async def startup_event(): ...@@ -997,6 +998,12 @@ async def startup_event():
else: else:
logger.warning("No database config found in aisbf.json, using defaults") logger.warning("No database config found in aisbf.json, using defaults")
DatabaseRegistry.get_config_database(db_config) DatabaseRegistry.get_config_database(db_config)
# Initialize analytics after database is set up
from aisbf.analytics import initialize_analytics
db = DatabaseRegistry.get_config_database()
initialize_analytics(db)
logger.info("Analytics module initialized")
except Exception as e: except Exception as e:
logger.error(f"Failed to initialize database: {e}") logger.error(f"Failed to initialize database: {e}")
import traceback import traceback
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment