【问题标题】:sqlalchemy's create_all doesn't create sequences automaticallysqlalchemy 的 create_all 不会自动创建序列
【发布时间】:2011-03-11 15:24:11
【问题描述】:

我正在使用带有 Postgres 的 SQLAlchemy 0.4.8 来管理我的数据存储。到现在为止,它已经很容易自动部署我的数据库:我是用metadata.create_all(bind=engine)和一切工作就好了。但现在我想创建它没有被任何表中的顺序,所以create_all()不创建它,即使它是正确的定义: Sequence('my_seq', metadata=myMetadata).

对如何完成这项工作有任何想法吗?

P.S. 目前无法升级到更新版本的 SQLAlchemy。

【问题讨论】:

  • 你试过“使用”该序列在以其他方式未使用的表,只是作为一种解决方法?跨度>
  • 不,但这是个好主意。我试图实现它实际上比这更骇人听闻:我试图在脚本的不同运行之间保留一个 id - 所以我没有将它存储在文件中,而是认为拥有一个 db 序列更清楚。谢谢,亚历克斯!

标签: python postgresql sqlalchemy


【解决方案1】:

你能不能用它自己的Sequence.create方法来调用create呢:

my_seq = Sequence('my_seq', metadata=myMetadata)
# ...
metadata.create_all(bind=engine)
# @note: create unused objects explicitly
my_seq.create(bind=engine)
# ...

【讨论】:

    猜你喜欢
    • 2014-01-11
    • 1970-01-01
    • 2021-03-29
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 2015-09-13
    相关资源
    最近更新 更多