@@ -25,39 +25,13 @@ class DatabaseSettings(BaseSettings):
2525 pass
2626
2727
28- class SQLiteSettings (DatabaseSettings ):
29- SQLITE_URI : str = "./sql_app.db"
30- SQLITE_SYNC_PREFIX : str = "sqlite:///"
31- SQLITE_ASYNC_PREFIX : str = "sqlite+aiosqlite:///"
32-
33-
34- class MySQLSettings (DatabaseSettings ):
35- MYSQL_USER : str = "username"
36- MYSQL_PASSWORD : str = "password"
37- MYSQL_SERVER : str = "localhost"
38- MYSQL_PORT : int = 5432
39- MYSQL_DB : str = "dbname"
40- MYSQL_SYNC_PREFIX : str = "mysql://"
41- MYSQL_ASYNC_PREFIX : str = "mysql+aiomysql://"
42- MYSQL_URL : str | None = None
43-
44- @computed_field # type: ignore[prop-decorator]
45- @property
46- def MYSQL_URI (self ) -> str :
47- credentials = f"{ self .MYSQL_USER } :{ self .MYSQL_PASSWORD } "
48- location = f"{ self .MYSQL_SERVER } :{ self .MYSQL_PORT } /{ self .MYSQL_DB } "
49- return f"{ credentials } @{ location } "
50-
51-
5228class PostgresSettings (DatabaseSettings ):
5329 POSTGRES_USER : str = "postgres"
5430 POSTGRES_PASSWORD : str = "postgres"
5531 POSTGRES_SERVER : str = "localhost"
5632 POSTGRES_PORT : int = 5432
5733 POSTGRES_DB : str = "postgres"
58- POSTGRES_SYNC_PREFIX : str = "postgresql://"
5934 POSTGRES_ASYNC_PREFIX : str = "postgresql+asyncpg://"
60- POSTGRES_URL : str | None = None
6135
6236 @computed_field # type: ignore[prop-decorator]
6337 @property
@@ -66,6 +40,11 @@ def POSTGRES_URI(self) -> str:
6640 location = f"{ self .POSTGRES_SERVER } :{ self .POSTGRES_PORT } /{ self .POSTGRES_DB } "
6741 return f"{ credentials } @{ location } "
6842
43+ @computed_field # type: ignore[prop-decorator]
44+ @property
45+ def POSTGRES_URL (self ) -> str :
46+ return f"{ self .POSTGRES_ASYNC_PREFIX } { self .POSTGRES_URI } "
47+
6948
7049class FirstUserSettings (BaseSettings ):
7150 ADMIN_NAME : str = "admin"
@@ -151,7 +130,6 @@ class CORSSettings(BaseSettings):
151130
152131class Settings (
153132 AppSettings ,
154- SQLiteSettings ,
155133 PostgresSettings ,
156134 CryptSettings ,
157135 FirstUserSettings ,
0 commit comments