Initial Codes
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
"""
|
||||
Driver factory — returns an instantiated driver for the given DB type.
|
||||
"""
|
||||
from app.drivers.base import BaseDriver
|
||||
|
||||
|
||||
def get_driver(db_type: str, config: dict) -> BaseDriver:
|
||||
"""Instantiate and return the correct driver for db_type."""
|
||||
db_type = db_type.lower()
|
||||
if db_type == "mysql":
|
||||
from app.drivers.mysql_driver import MySQLDriver
|
||||
return MySQLDriver(config)
|
||||
elif db_type in ("postgresql", "postgres"):
|
||||
from app.drivers.postgres_driver import PostgreSQLDriver
|
||||
return PostgreSQLDriver(config)
|
||||
elif db_type == "sqlite":
|
||||
from app.drivers.sqlite_driver import SQLiteDriver
|
||||
return SQLiteDriver(config)
|
||||
elif db_type == "mssql":
|
||||
from app.drivers.mssql_driver import MSSQLDriver
|
||||
return MSSQLDriver(config)
|
||||
else:
|
||||
raise ValueError(f"Unsupported database type: {db_type!r}")
|
||||
Reference in New Issue
Block a user