summaryrefslogtreecommitdiff
path: root/test/engine
diff options
context:
space:
mode:
authorChris Withers <chris@simplistix.co.uk>2010-09-16 20:58:15 +0100
committerChris Withers <chris@simplistix.co.uk>2010-09-16 20:58:15 +0100
commit27cf184b50ceed185fea57abfb329d2b9f9da935 (patch)
tree19eeec4a77e1dc821ddab6961356400a02ca4c11 /test/engine
parentfd6c85cf7f9918cc14d555495d8a08f5373b0d0b (diff)
downloadsqlalchemy-27cf184b50ceed185fea57abfb329d2b9f9da935.tar.gz
tometadata now copies indexes as well
Diffstat (limited to 'test/engine')
-rw-r--r--test/engine/test_metadata.py27
1 files changed, 26 insertions, 1 deletions
diff --git a/test/engine/test_metadata.py b/test/engine/test_metadata.py
index 5c6f5c151..a99188f15 100644
--- a/test/engine/test_metadata.py
+++ b/test/engine/test_metadata.py
@@ -2,7 +2,7 @@ from sqlalchemy.test.testing import assert_raises, assert_raises_message
import pickle
from sqlalchemy import Integer, String, UniqueConstraint, \
CheckConstraint, ForeignKey, MetaData, Sequence, \
- ForeignKeyConstraint, ColumnDefault
+ ForeignKeyConstraint, ColumnDefault, Index
from sqlalchemy.test.schema import Table, Column
from sqlalchemy import schema, exc
import sqlalchemy as tsa
@@ -259,6 +259,31 @@ class MetaDataTest(TestBase, ComparesTables):
eq_(table.kwargs,table_c.kwargs)
+ def test_tometadata_indexes(self):
+ meta = MetaData()
+
+ table = Table('mytable', meta,
+ Column('id', Integer, primary_key=True),
+ Column('data1', Integer, index=True),
+ Column('data2', Integer),
+ )
+ Index('multi',table.c.data1,table.c.data2),
+
+ meta2 = MetaData()
+ table_c = table.tometadata(meta2)
+
+ def _get_key(i):
+ entry = [i.name,i.unique]
+ entry.extend(sorted(i.kwargs.items()))
+ entry.extend(i.columns.keys())
+
+ table_indexes = [_get_key(i) for i in table.indexes]
+ table_indexes.sort()
+ table_c_indexes = [_get_key(i) for i in table_c.indexes]
+ table_c_indexes.sort()
+
+ eq_(table_indexes,table_c_indexes)
+
def test_tometadata_default_schema(self):
meta = MetaData()