Task #4873

Updated by ppicka about 5 years 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] 
 artifacts = ListField 
 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 Modulemd - rpm through table 

 modulemd = ManyToManyField 
 rpms = ManyToManyField 

 h2. ModulemdArtifact 
 module = Foreign  
 artifact = Foreign  

 h2. ModulemdDefaultsArtifact 
 module = Foreign  
 artifact = Foreign