【问题标题】:Pyramid postgresql connection金字塔postgresql连接
【发布时间】:2014-09-01 22:20:30
【问题描述】:

我对金字塔完全陌生。我正在尝试开发一个同时使用金字塔和 postgresql 的应用程序,但我完全不知道如何在 sripts 目录中配置 initializedb.py 文件,尤其是初始化数据库。

我使用的是 PostgreSQL 9.1。

【问题讨论】:

标签: postgresql sqlalchemy pyramid


【解决方案1】:

如果我理解您的问题,您只需要找出在哪里配置与 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 文件。

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

pip install -e .

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    • 2019-09-14
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多