【问题标题】:Creating tables with pylons and SQLAlchemy使用 pylons 和 SQLAlchemy 创建表
【发布时间】:2009-09-27 02:19:52
【问题描述】:

我正在使用 SQLAlchemy,我可以创建我在 /model/__init__.py 中定义的表,但我已经在 /model 目录中的其他文件中定义了我的类、表及其映射。

例如,我有一个配置文件类和一个配置文件表,它们在 /model/profile.py 中定义和映射

要创建我运行的表:

paster setup-app development.ini

但我的问题是我在 /model/__init__.py 中定义的表已正确创建,但 /model/profile.py 中的表定义未创建。如何执行 /model/profile.py 中的表定义,以便创建所有表?

感谢您的帮助!

【问题讨论】:

    标签: python sqlalchemy pylons


    【解决方案1】:

    我在第一个真正的 Pylons 项目中遇到了同样的问题。对我有用的解决方案是:

    1. 在 profile.py 文件中定义表和类
    2. 在您的__init__.py 中,在您的def init_model 之后添加from profile import *
    3. 然后我添加了我所有的映射器定义。将它们全部保存在 init 文件中解决了我在不同文件中定义的表之间相关的一些问题。

    此外,我已经使用声明性方法创建了项目,并且不需要在 init 文件中定义映射。

    【讨论】:

    • 圣诞快乐,谢谢。我一直在使用 Pylons,因为我一直忘记如何让 create_all()工作。
    【解决方案2】:

    只需在 init.py 中导入其他表的模块,然后在其他文件中使用 models.meta 中的元数据对象。 Pylons 默认的 setup_app 函数在导入后从 model.meta 中创建元数据对象中找到的所有表。

    【讨论】:

      【解决方案3】:

      如果您使用声明式样式,请务必使用 Base.meta 生成表格。

      【讨论】:

        猜你喜欢
        • 2011-05-09
        • 1970-01-01
        • 1970-01-01
        • 2011-08-16
        • 2011-02-08
        • 2013-02-03
        • 1970-01-01
        • 2016-08-13
        • 2017-09-29
        相关资源
        最近更新 更多