4
我想在SQL Alchemy中以编程方式生成ALTER TABLE
语句以将新列添加到表中。要添加的列应该从现有的映射类中进行定义。SQL Alchemy并生成ALTER TABLE语句
因此,鉴于SQL Alchemy Column
实例,我是否可以生成我需要的ALTER TABLE ... ADD COLUMN ...
和CREATE INDEX ...
的SQL模式定义?
我在Python提示符发挥和能够看到数据的人类可读的描述我后:
>>> DBChain.__table__.c.rName
Column('rName', String(length=40, convert_unicode=False, assert_unicode=None, unicode_error=None, _warn_on_bytestring=False), table=<Chain>)
当我打电话engine.create_all()
调试日志包含SQL语句我我想找产生:
CREATE TABLE "Chain" (
...
"rName" VARCHAR(40),
...
)
CREATE INDEX "ix_Chain_rName" ON "Chain" ("rName")
我听说过sqlalchemy-migrate,但似乎周围的静态变化要建,我期待动态生成血清胆碱酯酶MA-变化。
(我不感兴趣,在捍卫这个设计,我只是在寻找一种方言,可移植的方式将列添加到现有的表。)