ah the example has a bug, you're hitting a second part of the code there where 
it fetches columns that are placed on a single table child class that are moved 
up to the parent.   Committing this now, here's a patch:

diff -r 653ae7f17379 examples/versioning/history_meta.py
--- a/examples/versioning/history_meta.py       Mon Oct 17 13:14:04 2011 -0400
+++ b/examples/versioning/history_meta.py       Mon Oct 17 13:19:41 2011 -0400
@@ -60,6 +60,7 @@
         for column in local_mapper.local_table.c:
             if column.key not in super_history_mapper.local_table.c:
                 col = column.copy()
+                col.unique = False
                 super_history_mapper.local_table.append_column(col)
         table = None
 


this is rd87af238de36


On Oct 17, 2011, at 12:56 PM, Damian wrote:

> Hello!
> 
> I've run into an odd error whilst using the history meta.  I've got a
> class which has two sub classes which define some additional columns.
> The MainMeter class has a unique constraint on one of the colums.
> When I have the history_meta create my history tables, the
> trading_point_name column retains its unique constraint despite there
> being a col.unique = False in the history meta which should disable
> it.  I can't quite figure out why this is happening.  Any hints would
> be appreciated!
> 
> class Meter(Base, BaseMixin):
>    __metaclass__ = VersionedMeta
>    __tablename__ = "meters"
> 
>    id = sa.Column(sa.Integer, primary_key=True)
>    type = sa.Column(sa.Enum('main_meter', 'check_meter'))
>    # and so forth....
> 
> class MainMeter(Meter):
>    __mapper_args__ = {'polymorphic_identity': 'main_meter'}
>    trading_point_name  = sa.Column(sa.Unicode(255), nullable=True,
> unique=True)
>    #and so forth....
> 
> class CheckMeter(Meter):
>    __mapper_args__ = {'polymorphic_identity': 'check_meter'}
>    #etc....
> 
> Details:
> Sqlalchemy 7.3
> Sqlite db backend
> Python2.5
> 
> Best regards,
> Damian
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To post to this group, send email to sqlalchemy@googlegroups.com.
> To unsubscribe from this group, send email to 
> sqlalchemy+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/sqlalchemy?hl=en.
> 

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to