@@ -82,25 +82,15 @@ def test_helper_api(self):
82
82
self .assertEqual (self .db .metadata , self .db .Model .metadata )
83
83
84
84
85
- class CustomMetaDataTestCase (unittest .TestCase ):
85
+ class MetaDataTestCase (unittest .TestCase ):
86
86
87
87
def setUp (self ):
88
88
self .app = flask .Flask (__name__ )
89
89
self .app .config ['SQLALCHEMY_ENGINE' ] = 'sqlite://'
90
90
self .app .config ['TESTING' ] = True
91
91
92
- def test_custom_metadata_positive (self ):
93
-
94
- convention = {
95
- "ix" : 'ix_%(column_0_label)s' ,
96
- "uq" : "uq_%(table_name)s_%(column_0_name)s" ,
97
- "ck" : "ck_%(table_name)s_%(constraint_name)s" ,
98
- "fk" : "fk_%(table_name)s_%(column_0_name)s_%(referred_table_name)s" ,
99
- "pk" : "pk_%(table_name)s"
100
- }
101
-
102
- metadata = MetaData (naming_convention = convention )
103
- db = sqlalchemy .SQLAlchemy (self .app , metadata = metadata )
92
+ def test_default_metadata (self ):
93
+ db = sqlalchemy .SQLAlchemy (self .app , metadata = None )
104
94
self .db = db
105
95
106
96
class One (db .Model ):
@@ -112,15 +102,19 @@ class Two(db.Model):
112
102
one_id = db .Column (db .Integer , db .ForeignKey (One .id ))
113
103
myunique = db .Column (db .Integer , unique = True )
114
104
115
- self .assertEqual ( list ( One .__table__ . constraints )[ 0 ]. name , 'pk_one' )
116
- self .assertEqual ( list ( One . __table__ . indexes )[ 0 ]. name , 'ix_one_myindex' )
105
+ self .assertTrue ( One .metadata . __class__ is MetaData )
106
+ self .assertTrue ( Two . metadata . __class__ is MetaData )
117
107
118
- self .assertTrue ('fk_two_one_id_one' in [c .name for c in Two .__table__ .constraints ])
119
- self .assertTrue ('uq_two_myunique' in [c .name for c in Two .__table__ .constraints ])
120
- self .assertTrue ('pk_two' in [c .name for c in Two .__table__ .constraints ])
108
+ self .assertEqual (One .__table__ .schema , None )
109
+ self .assertEqual (Two .__table__ .schema , None )
121
110
122
- def test_custom_metadata_negative (self ):
123
- db = sqlalchemy .SQLAlchemy (self .app , metadata = None )
111
+ def test_custom_metadata (self ):
112
+
113
+ class CustomMetaData (MetaData ):
114
+ pass
115
+
116
+ custom_metadata = CustomMetaData (schema = "test_schema" )
117
+ db = sqlalchemy .SQLAlchemy (self .app , metadata = custom_metadata )
124
118
self .db = db
125
119
126
120
class One (db .Model ):
@@ -132,11 +126,17 @@ class Two(db.Model):
132
126
one_id = db .Column (db .Integer , db .ForeignKey (One .id ))
133
127
myunique = db .Column (db .Integer , unique = True )
134
128
135
- self .assertNotEqual (list (One .__table__ .constraints )[0 ].name , 'pk_one' )
129
+ self .assertIs (One .metadata , custom_metadata )
130
+ self .assertIs (Two .metadata , custom_metadata )
131
+
132
+ self .assertFalse (One .metadata .__class__ is MetaData )
133
+ self .assertTrue (One .metadata .__class__ is CustomMetaData )
134
+
135
+ self .assertFalse (Two .metadata .__class__ is MetaData )
136
+ self .assertTrue (Two .metadata .__class__ is CustomMetaData )
136
137
137
- self .assertFalse ('fk_two_one_id_one' in [c .name for c in Two .__table__ .constraints ])
138
- self .assertFalse ('uq_two_myunique' in [c .name for c in Two .__table__ .constraints ])
139
- self .assertFalse ('pk_two' in [c .name for c in Two .__table__ .constraints ])
138
+ self .assertEqual (One .__table__ .schema , "test_schema" )
139
+ self .assertEqual (Two .__table__ .schema , "test_schema" )
140
140
141
141
142
142
class TestQueryProperty (unittest .TestCase ):
@@ -748,7 +748,7 @@ class QazWsx(db.Model):
748
748
def suite ():
749
749
suite = unittest .TestSuite ()
750
750
suite .addTest (unittest .makeSuite (BasicAppTestCase ))
751
- suite .addTest (unittest .makeSuite (CustomMetaDataTestCase ))
751
+ suite .addTest (unittest .makeSuite (MetaDataTestCase ))
752
752
suite .addTest (unittest .makeSuite (TestQueryProperty ))
753
753
suite .addTest (unittest .makeSuite (TablenameTestCase ))
754
754
suite .addTest (unittest .makeSuite (PaginationTestCase ))
0 commit comments