Moved models to shared base

This commit is contained in:
2025-09-23 19:27:08 +01:00
parent 7d811fede0
commit 3eaed88074
5 changed files with 26 additions and 16 deletions

View File

@@ -27,7 +27,7 @@ target_metadata = Base.metadata
# Get DB URL from env (prefer KEYWARDEN_ prefix, fall back to unprefixed, then a sane default for local)
DB_USER = os.getenv("KEYWARDEN_POSTGRES_USER", "postgres")
DB_PASS = os.getenv("KEYWARDEN_POSTGRES_PASSWORD", "postgres")
DB_HOST = os.getenv("KEYWARDEN_POSTGRES_HOST", "localhost")
DB_HOST = os.getenv("KEYWARDEN_POSTGRES_HOST", "keywarden-db")
DB_PORT = os.getenv("KEYWARDEN_POSTGRES_PORT", "5432")
DB_NAME = os.getenv("KEYWARDEN_POSTGRES_DB", "keywarden")

View File

@@ -1,9 +1,8 @@
from sqlalchemy.orm import declarative_base
from app.db.base_class import Base # noqa: F401
# Import all models so their tables are registered on Base.metadata
from app.models.user import User # noqa: F401
from app.models.server import Server # noqa: F401
from app.models.sshkey import SSHKey # noqa: F401
from app.models.access_request import AccessRequest # noqa: F401
from app.models.audit import AuditEvent # noqa: F401
from app.models.server import Server # noqa: F401
from app.models.sshkey import SSHKey # noqa: F401
from app.models.user import User # noqa: F401
Base = declarative_base()
from app.models.audit import AuditEvent # noqa: F401

13
app/db/base_class.py Normal file
View File

@@ -0,0 +1,13 @@
from sqlalchemy import MetaData
from sqlalchemy.orm import declarative_base
# Optional: naming convention keeps Alembic diffs stable
convention = {
"ix": "ix_%(column_0_label)s",
"uq": "uq_%(table_name)s_%(column_0_name)s",
"ck": "ck_%(table_name)s_%(constraint_name)s",
"fk": "fk_%(table_name)s_%(column_0_name)s_%(referred_table_name)s",
"pk": "pk_%(table_name)s",
}
metadata = MetaData(naming_convention=convention)
Base = declarative_base(metadata=metadata)

View File

@@ -1,10 +1,8 @@
from sqlalchemy import Boolean, String
from sqlalchemy.orm import Mapped, declarative_base, mapped_column
from sqlalchemy.orm import Mapped, mapped_column
# only for Alembic discovery, not used here
from app.db.session import engine # noqa: F401
from app.db.base_class import Base # <-- use the shared Base
Base = declarative_base()
class User(Base):
__tablename__ = "users"

View File

@@ -25,19 +25,19 @@ server {
}
location /docs {
proxy_pass http://api:8000;
proxy_pass http://keywarden-api:8000;
}
location /openapi.json {
proxy_pass http://api:8000;
proxy_pass http://keywarden-api:8000;
}
location /api/v1/ {
proxy_pass http://api:8000;
proxy_pass http://keywarden-api:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
}
location /healthz {
proxy_pass http://api:8000;
proxy_pass http://keywarden-api:8000;
}
}