Heroku - 无法通过 Play Framework 应用程序设置 postgres 数据库?

2023-11-24

我正在尝试通过 Play Framework 应用程序在 heroku 上设置 postgres 数据库,但我不断收到有关 DATABASE_URL 的错误。

堆栈跟踪: -

-----> Heroku receiving push
-----> Play 2.0 - Java app detected
-----> Running: sbt clean compile stage
       Getting net.java.dev.jna jna 3.2.3 ...
       :: retrieving :: org.scala-sbt#boot-jna
        confs: [default]
        1 artifacts copied, 0 already retrieved (838kB/25ms)
       Getting org.scala-tools.sbt sbt_2.9.1 0.11.2 ...
       :: retrieving :: org.scala-sbt#boot-app
        confs: [default]
        37 artifacts copied, 0 already retrieved (7324kB/78ms)
       Getting Scala 2.9.1 (for sbt)...
       :: retrieving :: org.scala-sbt#boot-scala
        confs: [default]
        4 artifacts copied, 0 already retrieved (19939kB/188ms)
       [info] Loading global plugins from /tmp/build_hdhsg4dgyxy/.sbt_home/.sbt/plugins
       [info] Updating {file:/tmp/build_hdhsg4dgyxy/.sbt_home/.sbt/plugins/}default-05c586...
       [info] Resolving org.scala-tools.sbt#sbt_2.9.1;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#main_2.9.1;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#actions_2.9.1;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#classfile_2.9.1;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#io_2.9.1;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#control_2.9.1;0.11.2 ...
       [info] Resolving org.scala-lang#scala-library;2.9.1 ...
       [info] Resolving org.scala-tools.sbt#interface;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#logging_2.9.1;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#process_2.9.1;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#classpath_2.9.1;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#launcher-interface_2.9.1;0.11.2 ...
       [info] Resolving org.scala-lang#scala-compiler;2.9.1 ...
       [info] Resolving org.scala-tools.sbt#incremental-compiler_2.9.1;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#collections_2.9.1;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#api_2.9.1;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#persist_2.9.1;0.11.2 ...
       [info] Resolving org.scala-tools.sbinary#sbinary_2.9.0;0.4.0 ...
       [info] Resolving org.scala-tools.sbt#compile_2.9.1;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#ivy_2.9.1;0.11.2 ...
       [info] Resolving org.apache.ivy#ivy;2.2.0 ...
       [info] Resolving com.jcraft#jsch;0.1.31 ...
       [info] Resolving commons-httpclient#commons-httpclient;3.1 ...
       [info] Resolving commons-logging#commons-logging;1.0.4 ...
       [info] Resolving commons-codec#commons-codec;1.2 ...
       [info] Resolving org.scala-tools.sbt#completion_2.9.1;0.11.2 ...
       [info] Resolving jline#jline;0.9.94 ...
       [info] Resolving org.scala-tools.sbt#run_2.9.1;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#task-system_2.9.1;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#tasks_2.9.1;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#tracking_2.9.1;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#cache_2.9.1;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#testing_2.9.1;0.11.2 ...
       [info] Resolving org.scala-tools.testing#test-interface;0.5 ...
       [info] Resolving org.scala-tools.sbt#compiler-interface;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#precompiled-2_8_1;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#precompiled-2_8_0;0.11.2 ...
       [info] Resolving org.scala-tools.sbt#precompiled-2_9_0;0.11.2 ...
       [info] Done updating.
       [info] Compiling 1 Scala source to /tmp/build_hdhsg4dgyxy/.sbt_home/.sbt/plugins/target/scala-2.9.1/sbt-0.11.2/classes...
       [info] Loading project definition from /tmp/build_hdhsg4dgyxy/project
       [info] Set current project to PostDemo (in build file:/tmp/build_hdhsg4dgyxy/)
       [success] Total time: 0 s, completed Jun 28, 2012 2:20:47 AM
       [info] Updating {file:/tmp/build_hdhsg4dgyxy/}PostDemo...
[info] downloading http://repo.typesafe.com/typesafe/releases/postgresql/postgresql/9.1-901.jdbc4/postgresql-9.1-901.jdbc4.jar ...
       [info]   [SUCCESSFUL ] postgresql#postgresql;9.1-901.jdbc4!postgresql.jar (117ms)
       [info] Done updating.
       [info] Compiling 4 Scala sources and 4 Java sources to /tmp/build_hdhsg4dgyxy/target/scala-2.9.1/classes...
       [error] {file:/tmp/build_hdhsg4dgyxy/}PostDemo/compile:compile: com.typesafe.config.ConfigException$UnresolvedSubstitution: conf/application.conf: 37: Could not resolve substitution to a value: ${DATABASE_URL}
       [error] Total time: 10 s, completed Jun 28, 2012 2:20:57 AM
 !     Failed to build app with sbt
 !     Heroku push rejected, failed to compile Play 2.0 - java app
       error: failed to push some refs to '[email protected]'

我使用以下命令将 DATABASE_URL 设置为环境变量:-

echo "export DATABASE_URL=postgres://postgres:1234@localhost/Play">>.bash_profile
 . .bash_profile

我也尝试设置另一个 URL,我发现它使用命令heroku config我知道这是一个又大又长的 postgres URL,但它的工作效果不太好,而且每次都会出现同样的异常。

这是我在 application.conf 文件中添加的内容

%prod.db=${DATABASE_URL}

依赖性

val appDependencies = Seq(
   "postgresql" % "postgresql" % "9.1-901.jdbc4"
)

所以现在我对我的感到困惑DATABASE_URL。为什么heroku无法用合适的值替代它。 heroku 在哪里寻找合适的 URL?在我的application.conf文件或系统 bash 配置文件中设置的环境变量中?

任何帮助将非常感激。

Thanks

EDIT

Logs

2012-06-28 20:38:18,500 - [INFO] - from play in main 
Listening for HTTP on port 9000...

2012-06-28 20:38:25,862 - [INFO] - from play in play-akka.actor.default-dispatcher-1 
database [default] connected at jdbc:postgresql://localhost/Play

2012-06-28 20:38:27,470 - [ERROR] - from application in New I/O server worker #1-1 


! @6aoffk4jk - Internal server error, for request [GET /login/?username=abc&&password=abc] ->

play.api.db.evolutions.InvalidDatabaseRevision: Database 'default' needs evolution! [An SQL script need to be run on your database.]
    at play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1.apply(Evolutions.scala:424) ~[play_2.9.1.jar:2.0.1]
    at play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1.apply(Evolutions.scala:410) ~[play_2.9.1.jar:2.0.1]
    at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) ~[scala-library.jar:0.11.2]
    at scala.collection.immutable.List.foreach(List.scala:45) ~[scala-library.jar:0.11.2]
    at play.api.db.evolutions.EvolutionsPlugin.onStart(Evolutions.scala:410) ~[play_2.9.1.jar:2.0.1]
    at play.api.Play$$anonfun$start$1.apply(Play.scala:60) ~[play_2.9.1.jar:2.0.1]
    at play.api.Play$$anonfun$start$1.apply(Play.scala:60) ~[play_2.9.1.jar:2.0.1]
    at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) ~[scala-library.jar:0.11.2]
    at scala.collection.immutable.List.foreach(List.scala:45) ~[scala-library.jar:0.11.2]
    at play.api.Play$.start(Play.scala:60) ~[play_2.9.1.jar:2.0.1]
    at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$3$$anonfun$1.apply(ApplicationProvider.scala:125) ~[play_2.9.1.jar:2.0.1]
    at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$3$$anonfun$1.apply(ApplicationProvider.scala:112) ~[play_2.9.1.jar:2.0.1]
    at scala.Option.map(Option.scala:133) ~[scala-library.jar:0.11.2]
    at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$3.apply(ApplicationProvider.scala:112) ~[play_2.9.1.jar:2.0.1]
    at play.core.ReloadableApplication$$anonfun$get$1$$anonfun$apply$3.apply(ApplicationProvider.scala:110) ~[play_2.9.1.jar:2.0.1]
    at scala.Either$RightProjection.flatMap(Either.scala:277) ~[scala-library.jar:0.11.2]
    at play.core.ReloadableApplication$$anonfun$get$1.apply(ApplicationProvider.scala:110) ~[play_2.9.1.jar:2.0.1]
    at play.core.ReloadableApplication$$anonfun$get$1.apply(ApplicationProvider.scala:110) ~[play_2.9.1.jar:2.0.1]
    at akka.dispatch.Future$$anon$3.liftedTree1$1(Future.scala:195) ~[akka-actor.jar:2.0.1]
    at akka.dispatch.Future$$anon$3.run(Future.scala:194) ~[akka-actor.jar:2.0.1]
    at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:83) ~[akka-actor.jar:2.0.1]
    at akka.jsr166y.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1381) ~[akka-actor.jar:2.0.1]
    at akka.jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:259) ~[akka-actor.jar:2.0.1]
    at akka.jsr166y.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:974) ~[akka-actor.jar:2.0.1]
    at akka.jsr166y.ForkJoinPool.runWorker(ForkJoinPool.java:1478) ~[akka-actor.jar:2.0.1]
    at akka.jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104) ~[akka-actor.jar:2.0.1]

2012-06-28 20:38:30,150 - [WARN] - from play in New I/O server worker #1-1 
Applying evolution script for database 'default':

# !!! WARNING! This script contains DOWNS evolutions that are likely destructives

# --- Rev:2,Downs - eddafc8
delete from admins;
delete from employees;

# --- Rev:2,Ups - 822c4da
insert into admins (username, password) values ('abc', 'abc');
insert into admins (username, password) values ('abc', 'abc');

insert into employees (id,name,email) values (1, 'Super Man', '[email protected]');
insert into employees (id,name,email) values (2, 'Bat man', '[email protected]');
insert into employees (id,name,email) values (3, 'Spider Man', '[email protected]');
insert into employees (id,name,email) values (4, 'Iron Man', '[email protected]');


2012-06-28 20:38:30,741 - [INFO] - from play in play-akka.actor.default-dispatcher-1 
database [default] connected at jdbc:postgresql://localhost/Play

2012-06-28 20:38:31,519 - [INFO] - from play in play-akka.actor.default-dispatcher-1 
Application started (Dev)

您似乎正在混合一些 Play 1 和 Play 2 约定。您似乎正在使用 Play 2。在 Play 2 中,最简单的设置方法是不使用DATABASE_URL在你的application.conf而只是覆盖你的数据库配置Procfile:

web: target/start -Dhttp.port=$PORT -DapplyEvolutions.default=true -Ddb.default.driver=org.postgresql.Driver -Ddb.default.url=$DATABASE_URL

有关更详细的演练,请参阅我的玩2教程.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Heroku - 无法通过 Play Framework 应用程序设置 postgres 数据库? 的相关文章

随机推荐

  • 沿二维图像切片进行插值

    我有一套100相同大小的二维图像切片 我使用 MATLAB 将它们堆叠起来以创建体积数据 虽然二维切片的大小为 480x488 像素 但图像堆叠的方向不够宽 无法在投影时以不同方向可视化体积 我需要沿着切片进行插值以增加可视化的大小 有人可
  • Pandas 将具有 unix 时间戳(以毫秒为单位)的行转换为日期时间

    我需要处理大量 CSV 文件 其中时间戳始终是表示 UNIX 时间戳 以毫秒为单位 的字符串 我还找不到有效修改这些列的方法 这是我想到的 但是这当然只复制了列 我必须以某种方式将它放回原始数据集 我确信在创建时可以完成DataFrame
  • 不同组的不同子布局 ExpandableListView

    我在尝试执行此操作时遇到了问题 我似乎无法做到这一点 我想控制每个父母 该父母的孩子 ExpandableListView一直让我头疼 包评论 public class CommentsExpandableListAdapter exten
  • 对整数的多维向量进行排序?

    不管你信不信 当我搜索这个时 我想出了什么 如何对多维数据进行排序vector of int是在其中一根 柱子 旁边吗 提前谢谢了 C res mysql perform query conn SELECT column1 column2
  • 无法使用 rbenv 安装 RMagick

    我在 Ubuntu 10 04 服务器上使用 rbenv 并且已经安装了 ImageMagick 但无法成功安装 RMagick 我收到以下错误消息 Can t install RMagick 2 13 1 Can t find Magic
  • Microsoft Edge 中的集成 Windows 身份验证

    我正在尝试在 Edge 上实施集成 Windows 身份验证 但它总是提示我输入凭据 而集成 Windows 身份验证适用于 IE Chrome 和 Firefox 我尝试在安全选项中将该站点添加到本地 Intranet 站点并启用自动登录
  • 如何等待所有任务完成而不阻塞 UI 线程?

    在下面的代码中 我在处理任务之前禁用按钮 并希望在所有任务完成后启用它 List
  • 是否有经过充分研究的优化来找到穿过图形中每个加权边的最短路径?

    我一直在四处寻找 但似乎每个人最喜欢的问题都有一个稍微不同的情况 TSP 哈密顿量 欧拉等 我有一个图 由 V 顶点 和 E 边 表示 其中每条边是无向的 并且有一定的遍历成本 我想以最小的成本遍历每一条边 并可能重复 直观上 这个问题感觉
  • 在android中显示TextView而不是ImageView

    我想在图像视图上显示文本 我按照 Alesqui 的建议这样做 Android 文字覆盖图像 The preview in Android studio looks fine 但我的实际结果看起来像这样 上面有不必要的文本 我必须在执行期间
  • 在 Fortran 95 中将任意浮点字符串转换为实数

    在 fortran 中是否有任何简单的方法可以将任意浮点字符串转换为实数 想想类似的事情strtod 问题在于READ声明是所有浮点格式编辑描述符都需要显式宽度 到目前为止 我做出的最好的解决方法是这样的 pure function str
  • 有没有办法确定用户加入了哪些多用户会议 (MUCH)?

    我想知道是否有办法查询 XMPP 服务器 传递用户 JID 以找出该用户当前所在的聊天室 如果没有 我们可以查询 jabber 服务器来获取所有活动聊天室的列表吗 顺便说一句 我们正在运行支持多用户聊天的 ejabber 使用 java 库
  • 为什么我应该使用 Deque 而不是 Stack?

    我需要一个Stack我的用例的数据结构 我应该能够将项目推送到数据结构中 并且我只想从堆栈中检索最后一个项目 这堆栈的 JavaDoc says 一组更完整且一致的 LIFO 堆栈操作是 由 Deque 接口及其实现提供 应该 优先使用此类
  • 2x2 按钮网格布局

    我正在尝试创建一个包含 2x2 按钮网格 总共 4 个 的布局 我有以下内容 但它只在左上角创建按钮网格 我希望按钮网格填满整个屏幕
  • 设置输入框背景

    我必须创建一个具有以下背景的输入框 到目前为止 在我的代码中 我有下面的代码 但它没有显示 gt 执行此操作的正确程序是什么 我还必须制作此按钮的几个变体 如下所示 按钮黑色区域上的十字 我只是要使用 span 标记一个类并将图形设置为该类
  • 在 C++ 中从向量复制到向量

    我创建一个向量 A 并想使用以下方法复制到另一个类中的向量 B 这是正确的方法吗 向量A可能会被破坏 我在谷歌搜索 但没有找到好的解决方案和有意义的解释 感谢大家 void StateInit vector
  • Android 上的 OpenId

    我想让我的用户能够使用他们的 OpenId 登录我的 Android 应用程序 有一个像 StackOverflow 一样的文本字段 并要求用户在那里输入他的 OpenId 我环顾四周 但找不到任何允许我在 Android 上实现客户端 O
  • Laravel 5 Flysystem - 从远程磁盘下载文件

    我正在使用 Flysystem 在 Rackspace 上存储站点的文件 上传没问题 但无法弄清楚如何开始下载文件 这是我尝试过的 Storage disk rackspace return response gt download fil
  • 为什么追加documentFragment时需要使用cloneNode?

    我一直在考虑在 Backbone js 应用程序中使用 documentFragments 并且想知道为什么我看到在将 documentFragment 附加到父 DOM 元素时使用 cloneNode 的示例 可以看一个例子here 如果
  • jsr 关键字是什么意思?

    我正在查看一些 Java 代码 并且注意到以下内容 if foo bar baz qux i 0 jsr 433 javac 被它噎住了 说这不是一个语句 并且关键字后面应该有一个分号jsr 我做了一些谷歌搜索 我发现一些包含相同内容的代码
  • Heroku - 无法通过 Play Framework 应用程序设置 postgres 数据库?

    我正在尝试通过 Play Framework 应用程序在 heroku 上设置 postgres 数据库 但我不断收到有关 DATABASE URL 的错误 堆栈跟踪 gt Heroku receiving push gt Play 2 0