【问题标题】:Play Evolutions on Heroku在 Heroku 上玩进化
【发布时间】:2013-05-30 17:19:56
【问题描述】:

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

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

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

无法连接到数据库:致命:主机“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 时所提取的内容。

【问题讨论】:

    标签: postgresql heroku playframework


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      Regenerate evolution scripts in play 2

      干杯

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-25
        相关资源
        最近更新 更多