diff --git a/.github/workflows/test-backend.yml b/.github/workflows/test-backend.yml index e300c9ef..825a0426 100644 --- a/.github/workflows/test-backend.yml +++ b/.github/workflows/test-backend.yml @@ -54,6 +54,7 @@ jobs: PROJECT_NAME: Districtr v2 backend BACKEND_CORS_ORIGINS: "http://localhost,http://localhost:5173" SECRET_KEY: mysupersecretkey + DATABASE_URL: postgresql+psycopg://postgres:postgres@postgres:5432/postgres POSTGRES_SCHEME: postgresql+psycopg POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres diff --git a/backend/.dockerignore b/backend/.dockerignore index 0501d092..a0ac2975 100644 --- a/backend/.dockerignore +++ b/backend/.dockerignore @@ -1 +1,16 @@ fly.toml +.venv/ +.pytest_cache/ +__pycache__/ +*.pyc +.env +.ruff_cache/ +scratch/ +.git +*.whl +*.deb +*.rpm +*.tar.gz +*.zip +.pyenv/ +*pyvenv* diff --git a/backend/app/core/config.py b/backend/app/core/config.py index 12c11669..6912b178 100644 --- a/backend/app/core/config.py +++ b/backend/app/core/config.py @@ -52,30 +52,18 @@ def server_host(self) -> str: # Postgres POSTGRES_SCHEME: str - POSTGRES_SERVER: str | None - POSTGRES_PORT: int | None = 5432 - POSTGRES_USER: str | None - POSTGRES_PASSWORD: str | None - POSTGRES_DB: str = "" - DATABASE_URL: str | None = None + POSTGRES_SERVER: str + POSTGRES_PORT: int = 5432 + POSTGRES_USER: str + POSTGRES_PASSWORD: str + POSTGRES_DB: str + DATABASE_URL: str @computed_field # type: ignore[misc] @property def SQLALCHEMY_DATABASE_URI(self) -> PostgresDsn: if self.DATABASE_URL: - db_uri = MultiHostUrl(self.DATABASE_URL) - (host,) = db_uri.hosts() - - self.POSTGRES_SCHEME = db_uri.scheme - self.POSTGRES_PORT = host["port"] - self.POSTGRES_USER = host["username"] - self.POSTGRES_PASSWORD = host["password"] - self.POSTGRES_SERVER = host["host"] - - if db_uri.path: - self.POSTGRES_DB = db_uri.path.lstrip("/") - - return db_uri + return MultiHostUrl(self.DATABASE_URL) return MultiHostUrl.build( scheme=self.POSTGRES_SCHEME,