3
在为已有数据库编写SQLAlchemy模型时,我必须提供多少关于表的信息?考虑一下这个表,它是MySQL数据库的一部分:SQLAlchemy必要的表属性
CREATE TABLE entities (
id INTEGER NOT NULL AUTO_INCREMENT,
dn VARCHAR(100) NOT NULL UNIQUE,
PRIMARY KEY (id)
) Engine=InnoDB, COLLATE utf8_unicode_ci;
根据我的测试,这将足以使用它:
class Entity(Base):
__tablename__ = 'entities'
id = Column('id', Integer, primary_key=True)
dn = Column('dn', String(100))
但是,当然,它缺少的UNIQUE,AUTO_INCREMENT,发动机和COLLATE信息。 SQLAlchemy关心这些吗?
当然,我可以使用反射,但我宁愿不是由于一致性的原因。
可以指定这样的归类: '__table_args__ = { \t 'mysql_engine': 'InnoDB的', \t 'mysql_charset': 'UTF8', \t 'mysql_collate': 'utf8_general_ci' }' 但问题是:sqlalchemy会照顾吗?或者,如果表格已经存在,这没有关系吗? – 2013-07-17 16:37:15