我正在试图弄清楚如何为反射构建的sqlalchemy表指定默认字符集。我们的一些表有latin1列,有些是utf8。
我可以手动创建一个表格,如下所示......
from sqlalchemy import *
from sqlalchemy.dialects.mysql import VARCHAR
table = Table('foo', meta,
Column('col1', VARCHAR(200, charset='latin1'))
)
但是,如果我尝试从数据库中反思地创建它......
from sqlalchemy import *
engine = create_engine('mysql://root@localhost:3306/bar')
metadata = MetaData(bind=engine)
records = Table('foo', metadata, autoload=True)
records.columns['col1'].type.charset #Is not set
有没有人知道如何强制反射来拾取列字符集?