Postgresql 在Heroku上使用Postgres
我一直在关注Miguel Ginberg的Flask书,我正在考虑如何部署我的应用程序并使用PostgresDB 在本地生产配置中,我必须手动进入并运行Role.insert_roles(),然后才能分配任何角色 我在Heroku和博士后如何做到这一点?事实上,如何连接到postgres db?目前还不清楚postgres在代码中使用环境变量的位置: 我有一种感觉,我的应用程序只是在运行sqlite,而这本书并不清楚如何切换 解决方案: 如果您已部署到heroku,且未更改环境变量:Postgresql 在Heroku上使用Postgres,postgresql,heroku,flask,flask-sqlalchemy,Postgresql,Heroku,Flask,Flask Sqlalchemy,我一直在关注Miguel Ginberg的Flask书,我正在考虑如何部署我的应用程序并使用PostgresDB 在本地生产配置中,我必须手动进入并运行Role.insert_roles(),然后才能分配任何角色 我在Heroku和博士后如何做到这一点?事实上,如何连接到postgres db?目前还不清楚postgres在代码中使用环境变量的位置: 我有一种感觉,我的应用程序只是在运行sqlite,而这本书并不清楚如何切换 解决方案: 如果您已部署到heroku,且未更改环境变量: 数据库
- 数据库\u URI到SQLALCHEMY\u数据库\u URI
- FLASK_CONFIG=heroku
- FLASKY_ADMIN=您的电子邮件
heroku run python manage.py shell
db.create_all()
db.commit()
Role.insert_roles()
那么您可能正在从SQLite数据库运行开发配置 如果您想手动连接,可以直接使用图书馆。提供在引擎盖下使用psycopg,请参见-在您的示例中,继续使用SQLAlchemy可能更容易。更多信息。我也遇到了同样的问题,解决方法如下:
1.设置数据库
$:heroku插件:创建heroku postgresql bobby dev
……
添加数据库\u url:
$:hero配置-s | grep HEROKU-PSOTGRESQL
(然后显示HEROKU_POSTGRESQL_RED_URL=…)
$:heroku pg:升级heroku-POSTGRESQL-RED
配置={
..…
“默认”:ProductionConfig
}本教程使用。您必须更改
SQLALCHEMY\u DATABASE\u URI
以指向您的Postgres数据库。好的,当数据库设置正确时,您可以在产品中运行python shell吗?除非将角色写入数据库,否则基于电子邮件地址的环境变量的管理员帐户配置不正确python manage.py shell
然后role.create_all()
。在heroku中如何实现这一点?flask教程为具有flask SQL alchemy对象的shell提供了一个命令行选项。需要在此shell中运行Role.insert_roles(),以便每个DB将用户角色写入表中。这本书没有解释如何在heroku做到这一点。