我对金字塔完全陌生。我正在尝试开发一个同时使用金字塔和 postgresql 的应用程序,但我对如何配置 sripts 目录中的initializedb.py 文件(尤其是初始化数据库)完全感到困惑。
我正在使用 PostgreSQL 9.1。
如果我理解你的问题,你只需要找出在哪里配置与数据库的连接。我假设您创建了一个基于 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 中可能有所不同)。
如果一切正常,脚本将根据您的模型创建引用的所有表,并插入在initializedb.py中定义并添加到DBSession中的所有项目
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)