[Pulp-dev] 'id' versus 'pulp_id' on Content
jortel at redhat.com
Wed May 23 14:33:28 UTC 2018
In classic relational modeling, using ID as the primary key is common
practice. Especially when ORMs are involved. The "id" added by plugin
writers is a natural key so naming it ID goes against convention. Every
field in base models used by plugins has potential for name collisions.
Where does it end? Every column having a pulp_ or _ prefix? Plugins
create relatively few tables and it doesn't seem unreasonable for plugin
writers to select other names to resolve naming conflicts.
On 05/23/2018 07:50 AM, Brian Bouterse wrote:
> Currently the Content model  has 'id' as it's primary key which is
> inherited from MasterModel here . By naming our pk 'id', we are
> preventing plugin writers from also using that field. That field name
> is common for content types. For example: both RPM and Nuget content
> also expect to use the 'id' field to store data about the content type
> itself (not Pulp's pk). We learned about the Nuget incompatibility at
> ConfigMgmgtCamp from a community member. I learned about this issue
> with RPM from @dalley.
> The only workaround a plugin writer has is to call their field
> 'rpm_id' or something like that. I don't see how it's unavoidable that
> this renaming won't be passed directly onto the user for things like
> filtering, creating units, etc. I think that is an undesirable outcome
> just so that the Pulp pk can be named 'id'.
> One option would be to rename 'id' to 'pulp_id' at the MasterModel.
> This is also somewhat ugly for Pulp developers, but it would be (a)
> crystal clear to the user in all cases and (b) allow Content writers
> to model their content types correctly.
> Another option would be to rename the pk for 'Content' specifically
> and not at the MasterModel level. I think that would create more
> confusion than benefit so I recommend doing it at the MasterModel level.
> What do you all think?
> Pulp-dev mailing list
> Pulp-dev at redhat.com
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Pulp-dev