Moved models to shared base
This commit is contained in:
@@ -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)
|
# 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_USER = os.getenv("KEYWARDEN_POSTGRES_USER", "postgres")
|
||||||
DB_PASS = os.getenv("KEYWARDEN_POSTGRES_PASSWORD", "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_PORT = os.getenv("KEYWARDEN_POSTGRES_PORT", "5432")
|
||||||
DB_NAME = os.getenv("KEYWARDEN_POSTGRES_DB", "keywarden")
|
DB_NAME = os.getenv("KEYWARDEN_POSTGRES_DB", "keywarden")
|
||||||
|
|
||||||
|
@@ -1,9 +1,8 @@
|
|||||||
from sqlalchemy.orm import declarative_base
|
from app.db.base_class import Base # noqa: F401
|
||||||
|
|
||||||
from app.models.access_request import AccessRequest # noqa: F401
|
# Import all models so their tables are registered on Base.metadata
|
||||||
from app.models.audit import AuditEvent # noqa: F401
|
from app.models.user import User # noqa: F401
|
||||||
from app.models.server import Server # noqa: F401
|
from app.models.server import Server # noqa: F401
|
||||||
from app.models.sshkey import SSHKey # noqa: F401
|
from app.models.sshkey import SSHKey # noqa: F401
|
||||||
from app.models.user import User # noqa: F401
|
from app.models.access_request import AccessRequest # noqa: F401
|
||||||
|
from app.models.audit import AuditEvent # noqa: F401
|
||||||
Base = declarative_base()
|
|
13
app/db/base_class.py
Normal file
13
app/db/base_class.py
Normal 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)
|
@@ -1,10 +1,8 @@
|
|||||||
from sqlalchemy import Boolean, String
|
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.base_class import Base # <-- use the shared Base
|
||||||
from app.db.session import engine # noqa: F401
|
|
||||||
|
|
||||||
Base = declarative_base()
|
|
||||||
|
|
||||||
class User(Base):
|
class User(Base):
|
||||||
__tablename__ = "users"
|
__tablename__ = "users"
|
||||||
|
@@ -25,19 +25,19 @@ server {
|
|||||||
|
|
||||||
}
|
}
|
||||||
location /docs {
|
location /docs {
|
||||||
proxy_pass http://api:8000;
|
proxy_pass http://keywarden-api:8000;
|
||||||
}
|
}
|
||||||
location /openapi.json {
|
location /openapi.json {
|
||||||
proxy_pass http://api:8000;
|
proxy_pass http://keywarden-api:8000;
|
||||||
}
|
}
|
||||||
location /api/v1/ {
|
location /api/v1/ {
|
||||||
proxy_pass http://api:8000;
|
proxy_pass http://keywarden-api:8000;
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
|
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;
|
||||||
}
|
}
|
||||||
location /healthz {
|
location /healthz {
|
||||||
proxy_pass http://api:8000;
|
proxy_pass http://keywarden-api:8000;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user