I fully agree with you and had forgotten that "version" was part of the 
primary key.
I believe I made the appropriate changes to history_meta.py and will submit 
a pull request shortly

As always, thanks for your help !

JP

On Tuesday, 21 October 2014 14:41:15 UTC-4, Michael Bayer wrote:
>
> “version” is part of the primary key and is FK’ed to the superclass table, 
> so the warning isn’t generated for that one.
>
> it wouldn’t be appropriate for a datetime “changed” to have a foreign key. 
>  IMO it only needs to be on the base table.
>
>
>
>
> On Oct 21, 2014, at 2:35 PM, JPLaverdure <jp.lav...@gmail.com 
> <javascript:>> wrote:
>
> Hi Michael,
>
> I quite agree that child entities don't need their own copy of the 
> "changed" attribute, but this is also the way that the "version" attribute 
> is handled.
> (ie: both parent and child entities have their own copy of "version")
> Is there any way we can fix the both of them ?
>
> As for the option to remove the "changed" attribute... Well, I'm the one 
> who suggested its addition and submitted the pull request :)
>
> Thanks,
>
> JP
>
> On Friday, 17 October 2014 16:05:15 UTC-4, Michael Bayer wrote:
>>
>>
>> On Oct 17, 2014, at 3:50 PM, JPLaverdure <jp.lav...@gmail.com> wrote:
>>
>> Hi Michael,
>>
>> My bad, they do indeed only show up on mapping... which takes place when 
>> my pyramid app instantiates. Sorry for the confusion :)
>> Still, they could be unnerving for someone deploying the app. Any way to 
>> not have these show up ?
>> I did look into version_meta.py and tried to make some tweaks when I saw 
>> anything having to do with the version atribute.. But to no avail.
>>
>> Your help is greatly appreciated !
>>
>>
>> it’s not clear why a class that inherits from another needs a separate 
>> “changed” column in any case.     The recipe indicates on line 68 this 
>> column is optional so I’d remove it, or just make it conditional if 
>> “super_mapper” is not present to have it only on the base table.   or maybe 
>> just map it differently, or not at all, down where it calls mapper():
>>
>>     m = mapper(
>>             versioned_cls,
>>             table,
>>             inherits=super_history_mapper,
>>             polymorphic_on=polymorphic_on,
>>             polymorphic_identity=local_mapper.polymorphic_identity,
>>             exclude_columns=[‘changed’]
>>             )
>>
>>
>>
>>
>>
>>
>>
>> JP   
>>
>> On Friday, 17 October 2014 14:52:22 UTC-4, JPLaverdure wrote:
>>>
>>> Hello,
>>>
>>> It seems a number of SAWarnings are being thrown whenever I instantiate 
>>> Versioned objects which make use of inheritance:
>>>
>>> SAWarning: Implicitly combining column container_history.changed with 
>>> column barcoded_container_history.changed under attribute 'changed'.  
>>> Please configure one or more attributes for these same-named columns 
>>> explicitly.
>>> prop = self._property_from_column(key, prop)
>>>
>>> Unfortunately, since these objects are instantiated "auto-magically" by 
>>> the Versioned mixin class, I can't see a way to make these go away or 
>>> address the issue.
>>> I tried looking into the history_meta.py source and cannot understand 
>>> why this same warning is not being thrown for the "version" attribute.
>>>
>>> Anyone has an idea ?
>>>
>>> Thanks !
>>>
>>> JP
>>>
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "sqlalchemy" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to sqlalchemy+...@googlegroups.com.
>> To post to this group, send email to sqlal...@googlegroups.com.
>> Visit this group at http://groups.google.com/group/sqlalchemy.
>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sqlalchemy+...@googlegroups.com <javascript:>.
> To post to this group, send email to sqlal...@googlegroups.com 
> <javascript:>.
> Visit this group at http://groups.google.com/group/sqlalchemy.
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to