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 [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> 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 [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en.