在Heroku上玩演变

时间:2013-05-30 17:19:56

标签: postgresql heroku playframework

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

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

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

  

无法连接到数据库:致命错误:主机“my_host”没有pg_hba.conf条目,用户“my_username”,数据库“my_db”,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时,它会被拉出来。

2 个答案:

答案 0 :(得分:0)

正如Heroku所建议的那样,我在第一次创建这个项目时将db文件夹添加到我的.gitignore文件中。

从那里删除并重新启动Heroku是我必须要做的事情。

答案 1 :(得分:0)

我对git添加文件没有问题,我认为你对数据库名称定义有一些问题。我发布了我的工作evolutions配置设置为播放2.4,Slick 3.0.3& Postgres的。我自动生成了放在evolution文件夹中的* .sql文件。

Regenerate evolution scripts in play 2

干杯