我在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
时,它会被拉出来。
答案 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
干杯