4

我正在尝试将 postgres 数据库创建/连接到我正在做的 Pony ORM Web 应用程序。起初我使用带有 Pony ORM 的 sqlite 数据库,一切正常,但我需要切换到 postgres,因为我想把它放在 Heroku 上。我使用图形 postgres 工具并创建了一个名为“notice_db”的数据库和一个名为 notice 的 postgres 用户。我将数据库与小马绑定的代码是:

db = Database()                                                                     
db.bind('postgres', user='notice', password='Notice',host='localhost', database='notice_db', dbname='notice_db', port='5432')

它会找到用户并连接到本地主机,但不会连接或创建数据库,所以当我尝试使用 Pony ORM 函数时,例如为我的用户类创建一个具有“用户名”属性的数据库实体时,我收到此错误:“ProgrammingError :列“用户名”不存在第 1 行:从用户中选择 * 其中用户名 = 'user1'”。

Pony 不连接或创建 postgres 数据库。所以我想知道如何将 postgres 数据库连接到 Pony ORM 应用程序?

4

1 回答 1

0

为什么要定义 dbname 和数据库?参数 'dbname' 不适用于来自 pony 的 postgres 连接。使用“数据库”而不是“数据库名称”:

db.bind('postgres', user='notice', password='Notice',
         host='localhost', database='notice_db', port='5432')
于 2018-08-22T13:11:34.600 回答