move_sources

method of dascore.io.index.backend.SQLiteIndexBackend source

move_sources(
    self ,
    moves: dict[str, str] ,
    new_path_attrs: dict[dict[str, dict[str, str]], None] = None,
    base_uri: str = ““,
)-> ‘None’

Rewrite source paths in place (filesystem renames), atomically.

Updates each source’s stored path and its hive path attrs without touching patch/coord rows, so a directory rename never re-reads file contents. moves maps old -> new source_path; new_path_attrs maps old source_path -> the new path’s hive attrs. The caller (the directory syncer) guarantees the new hive keys are a superset of the old ones — a removed key would need the file’s own attr value back, which only a rescan can supply.