@@ -18,13 +18,38 @@ class CryptSettings(BaseSettings):
1818 ACCESS_TOKEN_EXPIRE_MINUTES : int = config ("ACCESS_TOKEN_EXPIRE_MINUTES" )
1919
2020
21- class PostgresSettings (BaseSettings ):
21+ class DatabaseSettings (BaseSettings ):
22+ pass
23+
24+
25+ class SQLiteSettings (DatabaseSettings ):
26+ SQLITE_URI : str = config ("SQLITE_URI" , default = "./sql_app.db" )
27+ SQLITE_SYNC_PREFIX : str = config ("SQLITE_SYNC_PREFIX" , default = "sqlite:///" )
28+ SQLITE_ASYNC_PREFIX : str = config ("SQLITE_ASYNC_PREFIX" , default = "sqlite+aiosqlite:///" )
29+
30+
31+ class MySQLSettings (DatabaseSettings ):
32+ MYSQL_USER : str = config ("MYSQL_USER" , default = "username" )
33+ MYSQL_PASSWORD : str = config ("MYSQL_PASSWORD" , default = "password" )
34+ MYSQL_SERVER : str = config ("MYSQL_SERVER" , default = "localhost" )
35+ MYSQL_PORT : str = config ("MYSQL_PORT" , default = 5432 )
36+ MYSQL_DB : str = config ("MYSQL_DB" , default = "dbname" )
37+ MYSQL_URI : str = f"{ MYSQL_USER } :{ MYSQL_PASSWORD } @{ MYSQL_SERVER } :{ MYSQL_PORT } /{ MYSQL_DB } "
38+ MYSQL_SYNC_PREFIX : str = config ("MYSQL_SYNC_PREFIX" , default = "mysql://" )
39+ MYSQL_ASYNC_PREFIX : str = config ("MYSQL_ASYNC_PREFIX" , default = "mysql+aiomysql://" )
40+ MYSQL_URL : str = config ("MYSQL_URL" , default = None )
41+
42+
43+ class PostgresSettings (DatabaseSettings ):
2244 POSTGRES_USER : str = config ("POSTGRES_USER" , default = "postgres" )
2345 POSTGRES_PASSWORD : str = config ("POSTGRES_PASSWORD" , default = "postgres" )
2446 POSTGRES_SERVER : str = config ("POSTGRES_SERVER" , default = "localhost" )
2547 POSTGRES_PORT : str = config ("POSTGRES_PORT" , default = 5432 )
2648 POSTGRES_DB : str = config ("POSTGRES_DB" , default = "postgres" )
49+ POSTGRES_SYNC_PREFIX : str = config ("POSTGRES_SYNC_PREFIX" , default = "postgresql://" )
50+ POSTGRES_ASYNC_PREFIX : str = config ("POSTGRES_ASYNC_PREFIX" , default = "postgresql+asyncpg://" )
2751 POSTGRES_URI : str = f"{ POSTGRES_USER } :{ POSTGRES_PASSWORD } @{ POSTGRES_SERVER } :{ POSTGRES_PORT } /{ POSTGRES_DB } "
52+ POSTGRES_URL : str | None = config ("POSTGRES_URL" , default = None )
2853
2954
3055class FirstUserSettings (BaseSettings ):
0 commit comments