refactor: add fix for database creation to mcp

This commit is contained in:
Igor Ilic 2026-01-16 22:32:38 +01:00
parent b6d7fe21de
commit 255f7c7a4a
3 changed files with 22 additions and 15 deletions

View file

@ -58,14 +58,20 @@ else
echo "Direct mode: Using local cognee instance" echo "Direct mode: Using local cognee instance"
echo "Running database migrations..." echo "Running database migrations..."
set +e # Disable exit on error to handle specific migration errors
MIGRATION_OUTPUT=$(cd cognee && alembic upgrade head) MIGRATION_OUTPUT=$(cd cognee && alembic upgrade head)
MIGRATION_EXIT_CODE=$? MIGRATION_EXIT_CODE=$?
set -e
if [[ $MIGRATION_EXIT_CODE -ne 0 ]]; then if [[ $MIGRATION_EXIT_CODE -ne 0 ]]; then
if [[ "$MIGRATION_OUTPUT" == *"UserAlreadyExists"* ]] || [[ "$MIGRATION_OUTPUT" == *"User default_user@example.com already exists"* ]]; then
echo "Warning: Default user already exists, continuing startup..." echo "Migration failed with unexpected error. Trying to run Cognee without migrations."
else echo "Initializing database tables..."
echo "Migration failed with unexpected error." python /app/src/run_cognee_database_setup.py
INIT_EXIT_CODE=$?
if [[ $INIT_EXIT_CODE -ne 0 ]]; then
echo "Database initialization failed!"
exit 1 exit 1
fi fi
fi fi

View file

@ -0,0 +1,5 @@
from cognee.modules.engine.operations.setup import setup
import asyncio
if __name__ == "__main__":
asyncio.run(setup())

View file

@ -20,19 +20,15 @@ MIGRATION_EXIT_CODE=$?
set -e set -e
if [[ $MIGRATION_EXIT_CODE -ne 0 ]]; then if [[ $MIGRATION_EXIT_CODE -ne 0 ]]; then
if [[ "$MIGRATION_OUTPUT" == *"UserAlreadyExists"* ]] || [[ "$MIGRATION_OUTPUT" == *"User default_user@example.com already exists"* ]]; then echo "Migration failed with unexpected error. Trying to run Cognee without migrations."
echo "Warning: Default user already exists, continuing startup..."
else
echo "Migration failed with unexpected error. Trying to run Cognee without migrations."
echo "Initializing database tables..." echo "Initializing database tables..."
python /app/cognee/modules/engine/operations/setup.py python /app/cognee/modules/engine/operations/setup.py
INIT_EXIT_CODE=$? INIT_EXIT_CODE=$?
if [[ $INIT_EXIT_CODE -ne 0 ]]; then if [[ $INIT_EXIT_CODE -ne 0 ]]; then
echo "Database initialization failed!" echo "Database initialization failed!"
exit 1 exit 1
fi
fi fi
else else
echo "Database migrations done." echo "Database migrations done."