Type pipenv run invenio vocabularies update --vocabulary names --filepath ./vocabularies-future.yaml
See error
site-packages/invenio_vocabularies/datastreams/writers.py", line 71, in write
return StreamEntry(self._service.create(self._identity, entry))
File "site-packages/invenio_records_resources/services/uow.py", line 350, in inner
res = f(self, *args, **kwargs)
File "site-packages/invenio_records_resources/services/records/service.py", line 320, in create
return self._create(self.record_cls, identity, data, uow=uow, expand=expand)
File "site-packages/invenio_records_resources/services/uow.py", line 354, in inner
return f(self, *args, **kwargs)
File "site-packages/invenio_records_resources/services/records/service.py", line 347, in _create
self.run_components(
File "site-packages/invenio_records_resources/services/base/service.py", line 72, in run_components
getattr(component, action)(*args, **kwargs)
File "site-packages/invenio_vocabularies/services/components.py", line 49, in create
self.service.record_cls.pid.create(record)
File "site-packages/invenio_records_resources/records/systemfields/pid.py", line 233, in create
self.field._provider.create(pid_value, record, self.field.model_field_name)
File "site-packages/invenio_records_resources/records/providers.py", line 31, in create
raise PIDAlreadyExists(
invenio_pidstore.errors.PIDAlreadyExists
site-packages/invenio_vocabularies/cli.py", line 136, in update
success, errored, filtered = _process_vocab(config)
File "site-packages/invenio_vocabularies/cli.py", line 69, in _process_vocab
for result in ds.process():
File "site-packages/invenio_vocabularies/datastreams/datastreams.py", line 61, in process
yield self.write(transformed_entry)
File "site-packages/invenio_vocabularies/datastreams/datastreams.py", line 104, in write
writer.write(stream_entry)
File "site-packages/invenio_vocabularies/datastreams/writers.py", line 75, in write
vocab_id = self._entry_id(entry)
File "site-packages/invenio_vocabularies/datastreams/writers.py", line 61, in _entry_id
return (entry["type"], entry["id"])
KeyError: 'type'
Package version (if known): v12
Describe the bug
The datastream
vocabularies update
command crashes. Changing a workingvocabularies install
command toupdate
doesn't work as expected.Steps to Reproduce
pipenv run invenio vocabularies import --vocabulary names --filepath ./vocabularies-future.yaml
and
`names: readers:
pipenv run invenio vocabularies update --vocabulary names --filepath ./vocabularies-future.yaml
Expected behavior
Vocabulary gets updated