mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-05 15:28:27 +01:00
* experimental: support connection strings for databases using connectorx This adds an experimental support for connector strings using connectorx. User has to provide config for the connection strings with: Example: ```console dvc config --local db_connection.pg postgres://user:pass@localhost:5432/database ``` And then, they can import using: ```console dvc import-db --sql 'query' --conn pg ``` Check supported databases and how to configure in https://sfu-db.github.io/connector-x/databases.html. This `db_connection` config is subject to change. connectorx still has the same problem with dbt as before: no support for streaming, but it'll be a bit more simpler to configure with the connection strings. * add pandas to deps * sqlalchemy * dbt streaming sql * fix test * remove connectorx * remove check in set * use mode='wb' for serialization
23 lines
614 B
Python
23 lines
614 B
Python
from typing import Any, ContextManager, Optional, Union
|
|
|
|
from . import dbt_query, sqla
|
|
from .dbt_models import get_model
|
|
from .serializer import export
|
|
|
|
Adapter = Union[sqla.SQLAlchemyAdapter, dbt_query.DbtAdapter]
|
|
|
|
|
|
def get_adapter(
|
|
config,
|
|
project_dir: Optional[str] = None,
|
|
profile: Optional[str] = None,
|
|
target: Optional[str] = None,
|
|
**kwargs: Any,
|
|
) -> "ContextManager[Adapter]":
|
|
if config:
|
|
return sqla.adapter(config, **kwargs)
|
|
return dbt_query.adapter(project_dir=project_dir, profile=profile, target=target)
|
|
|
|
|
|
__all__ = ["export", "get_adapter", "get_model", "Adapter"]
|