Fix app module import in Alembic configuration
- Added improved Python path handling in env.py - Added fallback import method for app.models - Ensured database URL consistency generated with BackendIM... (backend.im)
This commit is contained in:
parent
b2cf3ca746
commit
848c5b628b
@ -35,8 +35,8 @@ script_location = alembic
|
|||||||
# are written from script.py.mako
|
# are written from script.py.mako
|
||||||
# output_encoding = utf-8
|
# output_encoding = utf-8
|
||||||
|
|
||||||
# SQLite URL example
|
# SQLite URL example - Make sure it matches the path in app/database.py
|
||||||
sqlalchemy.url = sqlite:////projects/genericrestapiservice-w6od1p/db.sqlite
|
sqlalchemy.url = sqlite:////app/storage/db/db.sqlite
|
||||||
|
|
||||||
[post_write_hooks]
|
[post_write_hooks]
|
||||||
# post_write_hooks defines scripts or Python functions that are run
|
# post_write_hooks defines scripts or Python functions that are run
|
||||||
|
@ -4,7 +4,11 @@ import os
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
# Add the project root directory to Python's path
|
# Add the project root directory to Python's path
|
||||||
sys.path.insert(0, str(Path(__file__).parent.parent))
|
project_root = Path(__file__).parent.parent.absolute()
|
||||||
|
sys.path.insert(0, str(project_root))
|
||||||
|
|
||||||
|
# Also add the project root to the PYTHONPATH environment variable
|
||||||
|
os.environ["PYTHONPATH"] = str(project_root) + os.pathsep + os.environ.get("PYTHONPATH", "")
|
||||||
|
|
||||||
from sqlalchemy import engine_from_config
|
from sqlalchemy import engine_from_config
|
||||||
from sqlalchemy import pool
|
from sqlalchemy import pool
|
||||||
@ -23,7 +27,14 @@ fileConfig(config.config_file_name)
|
|||||||
# for 'autogenerate' support
|
# for 'autogenerate' support
|
||||||
# from myapp import mymodel
|
# from myapp import mymodel
|
||||||
# target_metadata = mymodel.Base.metadata
|
# target_metadata = mymodel.Base.metadata
|
||||||
|
try:
|
||||||
|
# Try importing directly
|
||||||
from app.models import Base
|
from app.models import Base
|
||||||
|
except ImportError:
|
||||||
|
# If that fails, try with an explicit import of the app module
|
||||||
|
import app.models
|
||||||
|
Base = app.models.Base
|
||||||
|
|
||||||
target_metadata = Base.metadata
|
target_metadata = Base.metadata
|
||||||
|
|
||||||
# other values from the config, defined by the needs of env.py,
|
# other values from the config, defined by the needs of env.py,
|
||||||
|
@ -4,7 +4,7 @@ from sqlalchemy.orm import sessionmaker
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
# Create the database directory if it doesn't exist
|
# Create the database directory if it doesn't exist
|
||||||
DB_DIR = Path("/projects/genericrestapiservice-w6od1p")
|
DB_DIR = Path("/app/storage/db")
|
||||||
DB_DIR.mkdir(parents=True, exist_ok=True)
|
DB_DIR.mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
# Define the SQLite URL
|
# Define the SQLite URL
|
||||||
|
Loading…
x
Reference in New Issue
Block a user