金字塔postgresql连接

Mwe*_*ert 1 postgresql sqlalchemy pyramid

我是金字塔的全新.我正在尝试开发一个将使用金字塔angd postgresql的应用程序,但我完全困惑如何在sripts目录中配置initializedb.py文件,尤其是初始化数据库.

我正在使用PostgreSQL 9.1.

pde*_*mcp 6

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

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

sqlalchemy.url = sqlite:///%(here)s/dbname.sqlite
Run Code Online (Sandbox Code Playgroud)

你只需要用这样的东西改变那一行:

sqlalchemy.url = postgresql://DBUser:DBPassword@DBHostNameOrIP:5432/DBName
Run Code Online (Sandbox Code Playgroud)

(根据需要选择参数)

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

initialize_YourProject_db development.ini
Run Code Online (Sandbox Code Playgroud)

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

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

pip install -e .
Run Code Online (Sandbox Code Playgroud)

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

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