金字塔postgresql连接

时间:2014-07-11 10:05:54

标签: postgresql sqlalchemy pyramid

我对金字塔完全不熟悉。我正在尝试开发一个既使用pyramid angd postgresql的应用程序,但我对如何在sripts目录中配置initializedb.py文件特别是初始化数据库感到困惑。

我正在使用PostgreSQL 9.1。

1 个答案:

答案 0 :(得分:6)

如果我理解您的问题,您只需要找到配置与DB的连接的位置。我假设你创建了一个基于sqlAlchemy的项目。 在金字塔应用程序的根目录中,您可以找到ini文件。默认情况下,您应该有development.ini和production.ini文件。前者用于开发,后者用于生产环境,因此它们可以(并且应该)在某些配置上有所不同。

在这两个文件中,您应该找到如下所示的行:

sqlalchemy.url = sqlite:///%(here)s/dbname.sqlite

您只需要用以下内容更改该行:

sqlalchemy.url = postgresql://DBUser:DBPassword@DBHostNameOrIP:5432/DBName

(根据需要替代参数)

你直接使用initializedb.py,但你应该使用initialize_YourProject_db脚本(在bin文件夹中,从金字塔根目录返回一个目录),如下所示:

initialize_YourProject_db development.ini

其中“YourProject”是您创建项目时定义的项目名称,development.ini是您要使用的ini文件。

如果尚未完成,您可能需要将“db-psycopg2”添加到setup.py中的所需模块并执行

pip install -e .

再次(最后一个点不是拼写错误)。 请记住psycopg2(postgresql的驱动程序)有依赖关系(在ubuntu 14_04上你需要'apt-get install libpq-dev python-dev',它可能在其他发行版/ SO中有所不同。)

如果enaything工作正常,脚本将根据您的模型创建引用的所有表,并插入initializedb.py中定义的所有项并添加到DBSession