0

我在 Heroku 上使用 Play 1.2.4,我只是重置了我的数据库,以便我可以从 dev-mode/JPA 切换到使用 prod-mode/evolutions。

但是,我无法让脚本运行。

我创建了我的 1.sql 文件并将其放在 /db/evolutions 中。我将 jpa.ddl 设置为 create 以便它最初会创建表,并且我检查以确保它做到了。当我play evolutions从 CLI 运行时,我得到以下信息:

无法连接到数据库:致命:主机“my_host”、用户“my_username”、数据库“my_db”没有 pg_hba.conf 条目,SSL 关闭

当我尝试这样做时,heroku run "play evolutions:apply --%prod"我得到:

Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true -Djava.rmi.server.useCodebaseOnly=true
~ Evolutions are not enabled. Create a db/evolutions directory to create your first 1.sql evolution script.

我需要一个 pg_hba.conf 文件吗?在我的 application.conf 我有:

db=${DATABASE_URL}

这是一个heroku环境变量。我知道我无法在本地访问这些内容,因此我尝试将 heroku 变量的内容复制到我的本地环境变量 $DATABASE_URL 中,我相信这是我运行时从中提取的内容play evolutions

4

2 回答 2

0

根据Heroku.gitignore的建议,我在第一次创建这个项目时将 db 文件夹添加到了我的文件中。

从那里删除它并重新提交给 Heroku 是我必须做的来修复它。

于 2013-05-30T17:49:54.067 回答
0

我对git添加文件没有问题,我认为您对数据库名称定义有一些问题。我发布了我的 play 2.4、Slick 3.0.3 和 postgres 的工作演变配置设置。我自动生成了放在进化文件夹中的 *.sql 文件。

在游戏 2 中重新生成进化脚本

干杯

于 2015-10-30T14:51:09.280 回答