Skip to content

Commit

Permalink
import_db: set dependency.is_in_repo to false
Browse files Browse the repository at this point in the history
  • Loading branch information
skshetry committed Aug 6, 2024
1 parent 284d83f commit 8066d3f
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 4 deletions.
8 changes: 6 additions & 2 deletions dvc/dependency/db.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@ def __init__(self, stage: "Stage", info: dict[str, Any], *args, **kwargs):
self.def_path = None # type: ignore[assignment]
self.info = info or {}

@property
def is_in_repo(self):
return False


class DbDependency(AbstractDependency):
PARAM_CONNECTION = "connection"
Expand All @@ -70,8 +74,8 @@ def sql(self) -> Optional[str]:
return self.db_info.get(self.PARAM_QUERY) or self.db_info.get(self.PARAM_TABLE)

def __repr__(self):
return "{}:{}".format(
self.__class__.__name__, "".join(f"{k}=={v}" for k, v in self.info.items())
return "{}: {}".format(
self.__class__.__name__, "".join(f"{k}={v}" for k, v in self.info.items())
)

def __str__(self):
Expand Down
12 changes: 10 additions & 2 deletions dvc/repo/experiments/serialize.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,12 @@ def from_repo(
Params, metrics, deps, outs are filled via repo fs/index, all other fields
should be passed via kwargs.
"""
from dvc.dependency import ParamsDependency, RepoDependency
from dvc.dependency import (
DatasetDependency,
DbDependency,
ParamsDependency,
RepoDependency,
)

rev = rev or repo.get_rev()
assert rev
Expand All @@ -68,7 +73,10 @@ def from_repo(
nfiles=dep.meta.nfiles if dep.meta else None,
)
for dep in repo.index.deps
if not isinstance(dep, (ParamsDependency, RepoDependency))
if not isinstance(
dep,
(ParamsDependency, RepoDependency, DatasetDependency, DbDependency),
)
},
outs={
relpath(out.fs_path, repo.root_dir): ExpOut(
Expand Down
4 changes: 4 additions & 0 deletions dvc/stage/run.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,11 @@ def cmd_run(stage, dry=False, run_env=None):


def _pull_missing_deps(stage):
from dvc.dependency import DatasetDependency, DbDependency

for dep in stage.deps:
if isinstance(dep, (DatasetDependency, DbDependency)):
continue
if not dep.exists:
stage.repo.pull(dep.def_path)

Expand Down

0 comments on commit 8066d3f

Please sign in to comment.