为MySQL CREATE TABLE生成SQLAlchemy KEY子句

时间:2014-10-31 19:52:14

标签: python mysql sqlalchemy

如果我有一个声明性模型:

class Foo(Base):
  id = Column(INTEGER, primary_key=True)
  bar = Column(INTEGER, index=yes)

......我跑

print(CreateTable(Foo.__table__).compile(db.engine))  # MySQL engine

......我看到了

CREATE TABLE foo (
  id INTEGER NOT NULL AUTO_INCREMENT,
  bar INTEGER,
  PRIMARY KEY (id)
  # KEY `bar` (`bar`)  <-- this clause is never generated
);

我的模型中缺少什么来创建此子句?我发现谷歌很难,因为我得到了关于外键的嘈杂结果。

1 个答案:

答案 0 :(得分:0)

在查看MySQL方言的SQLAlchemy测试套件之后,实际上并没有这样做的方法。