Task #4873

Updated by ppicka over 1 year ago

Add modulemd and modulemd-defaults and through table for keeping dependencies modulemd - rpm packages

h2. ModuleMD

TYPE = modulemd
- NSVCA to identify

name = StringField
stream = StringField
version = IntField
context = StringField
arch = StringField

checksum = StringField
- of NSVCA to track changes if updated

dependencies = DictField
- dict because can have different deps on different systems [f30/rhel8]
rpm_content = foreign through table
- that we can manage rpm deps to module and vice versa = many to many

_artifact = Foreign
- to keep whole modulemd fields (as in pulp2)

h2. modulemd-defaults

- still we can decide to not track modulemd-default to modulemd

TYPE = modulemd_defaults

stream = StringField
profiles = DictField
- pulp2 has a string but there could be more deps depends on os

checksum = StringField(stream + profile)
- for update if change

_artifact = Foreign
- to keep whole modulemd fields (as in pulp2)

h2. Modulemd - rpm through table

modulemd = ManyToManyField
rpms = ManyToManyField