python - Heroku SQLAlchemy 数据库不存在

标签 python postgresql heroku sqlalchemy heroku-postgres

我在 heroku 上运行 python 3.5 worker。

self.engine = create_engine(os.environ.get("DATABASE_URL"))

我的代码在本地运行,通过了 Travis CI,但在 heroku 上出现错误 - OperationalError: (psycopg2.OperationalError) FATAL: database "easnjeezqhcycd"does not exist

easnjeezqhcycd 是我的用户,不是数据库名称。由于我没有使用 flask 的 sqlalchemy,所以我还没有发现一个人与同一个人打交道

我尝试破坏我的插件数据库并在 heroku 上创建独立的 postgres 数据库 - 同样的错误。

SQLAlchemy 不接受 heroku 的 URL 有什么不同?有没有办法使用 psycopg2 建立连接并将其传递给 SQLAlchemy?

最佳答案

老问题,但答案似乎是database_existscreate_database 有针对引擎URL 以postgresql 开头时的特殊情况代码,但如果 URL 仅以 postgres 开头,这些函数将失败。但是,SQLAlchemy 通常可以很好地处理这两种变体。

因此解决方案是确保数据库 URL 以 postgresql:// 而不是 postgres:// 开头。

关于python - Heroku SQLAlchemy 数据库不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37910066/

相关文章:

python - 当 'None' 或没有传递参数时,如何接受函数中的默认参数?

python - 改变列表中列表的值

python - 与 iexact 一起使用时,Django get_or_create 无法设置字段

javascript - HEROKU 上的 CORS 问题

java - Heroku:带有 https tomcat 服务器和证书固定的 Spring Boot Gradle 应用程序

python - 为 View web2py 内的表字段设置默认值

python - Pandas:上传到 mysql 表

Facebook Sinatra 应用程序执行奇怪的重定向

sql - 您如何找到过去一周发生的结果?

python - SQLAlchemy:joinedload 子条款查询的 order_by(无)?