0.8 regression in tometadata

Issue #2633 resolved
Mike Bayer repo owner created an issue
from sqlalchemy import *

m = MetaData()
t = Table('t', m, Column('x', Integer))

t.append_constraint(CheckConstraint(t.c.x > 5))

from sqlalchemy.schema import CreateTable
print CreateTable(t)

m2 = MetaData()

t.tometadata(m2)



Traceback (most recent call last):
  File "test.py", line 13, in <module>
    t.tometadata(m2)
  File "/Users/classic/dev/sqlalchemy/lib/sqlalchemy/schema.py", line 662, in tometadata
    for c in self.constraints:
RuntimeError: Set changed size during iteration

seems like checkconstraint is attaching itself to the table in the constructor.

Comments (3)

  1. Log in to comment