使用pylons和SQLAlchemy创建表

时间:2009-09-27 02:19:53

标签: python sqlalchemy pylons

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

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

要创建我运行的表:

paster setup-app development.ini

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

感谢您的帮助!

3 个答案:

答案 0 :(得分:5)

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

  1. 在profile.py文件中定义表和类
  2. __init__.py
  3. 之后from profile import *添加def init_model
  4. 然后我添加了所有的mapper定义。将它们全部保存在init文件中解决了我在不同文件中定义的表之间存在的一些问题。
  5. 此外,我已经使用声明性方法创建了项目,并且不需要在init文件中定义映射。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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