def setup_class(cls): global unicode_bind, metadata, t1, t2, t3 unicode_bind = utf8_engine() metadata = MetaData(unicode_bind) t1 = Table( 'unitable1', metadata, Column(u'méil', Integer, primary_key=True), Column(u'\u6e2c\u8a66', Integer), test_needs_fk=True, ) t2 = Table( u'Unitéble2', metadata, Column(u'méil', Integer, primary_key=True, key="a"), Column(u'\u6e2c\u8a66', Integer, ForeignKey(u'unitable1.méil'), key="b"), test_needs_fk=True, ) # Few DBs support Unicode foreign keys if testing.against('sqlite'): t3 = Table( u'\u6e2c\u8a66', metadata, Column(u'\u6e2c\u8a66_id', Integer, primary_key=True, autoincrement=False), Column(u'unitable1_\u6e2c\u8a66', Integer, ForeignKey(u'unitable1.\u6e2c\u8a66')), Column(u'Unitéble2_b', Integer, ForeignKey(u'Unitéble2.b')), Column(u'\u6e2c\u8a66_self', Integer, ForeignKey(u'\u6e2c\u8a66.\u6e2c\u8a66_id')), test_needs_fk=True, ) else: t3 = Table( u'\u6e2c\u8a66', metadata, Column(u'\u6e2c\u8a66_id', Integer, primary_key=True, autoincrement=False), Column(u'unitable1_\u6e2c\u8a66', Integer), Column(u'Unitéble2_b', Integer), Column(u'\u6e2c\u8a66_self', Integer), test_needs_fk=True, ) metadata.create_all()
def setup_class(cls): global unicode_bind, metadata, t1, t2, t3 unicode_bind = utf8_engine() metadata = MetaData(unicode_bind) t1 = Table('unitable1', metadata, Column(u'méil', Integer, primary_key=True), Column(u'\u6e2c\u8a66', Integer), test_needs_fk=True, ) t2 = Table(u'Unitéble2', metadata, Column(u'méil', Integer, primary_key=True, key="a"), Column(u'\u6e2c\u8a66', Integer, ForeignKey(u'unitable1.méil'), key="b" ), test_needs_fk=True, ) # Few DBs support Unicode foreign keys if testing.against('sqlite'): t3 = Table(u'\u6e2c\u8a66', metadata, Column(u'\u6e2c\u8a66_id', Integer, primary_key=True, autoincrement=False), Column(u'unitable1_\u6e2c\u8a66', Integer, ForeignKey(u'unitable1.\u6e2c\u8a66') ), Column(u'Unitéble2_b', Integer, ForeignKey(u'Unitéble2.b') ), Column(u'\u6e2c\u8a66_self', Integer, ForeignKey(u'\u6e2c\u8a66.\u6e2c\u8a66_id') ), test_needs_fk=True, ) else: t3 = Table(u'\u6e2c\u8a66', metadata, Column(u'\u6e2c\u8a66_id', Integer, primary_key=True, autoincrement=False), Column(u'unitable1_\u6e2c\u8a66', Integer), Column(u'Unitéble2_b', Integer), Column(u'\u6e2c\u8a66_self', Integer), test_needs_fk=True, ) metadata.create_all()
def _prep_testing_database(options, file_config): from test.lib import engines from sqlalchemy import schema # also create alt schemas etc. here? if options.dropfirst: e = engines.utf8_engine() existing = e.table_names() if existing: print "Dropping existing tables in database: " + db_url try: print "Tables: %s" % ', '.join(existing) except: pass print "Abort within 5 seconds..." time.sleep(5) md = schema.MetaData(e, reflect=True) md.drop_all() e.dispose()