2012-06-28 31 views
5

私はフレームワークアプリケーションを使ってherokuにpostgresデータベースを設定しようとしていますが、私のDATABASE_URLに関してはエラーが発生しています。Heroku - Play Frameworkアプリでpostgresデータベースを設定できませんか?

スタックトレース: -

-----> 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:[email protected]/Play">>.bash_profile 
. .bash_profile 

を、私は私がコマンドheroku configを使用していただけでなく、別のURLを設定しようとしました私が知りたかったのは大きな長いpostgresのURLですが、毎回同じような例外が発生しました。ここで

は、私は私のapplication.confファイルに追加したものを

%prod.db=${DATABASE_URL} 

ある依存関係

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

だから今、私は私のDATABASE_URLについて混乱しています。なぜ英雄がそれを適切な価値で置き換えることができないのか。どこの人が適切なURLを探していますか?私のapplication.confファイルか、システムのbashプロファイルに環境変数が設定されていますか?

本当にありがとうございます。

おかげ

EDIT

ログ

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) 
+1

あなたはHerokuのはconfig'を 'を実行すると、あなたが記載されている' DATABASE_URL'値を参照していますか? –

+0

@RyanDaigleうん、私は見た。私はそのURLを使用しようとしましたが、運はありませんでした。 – Varundroid

答えて

18

あなたには、いくつかのプレイ1を混合し、2つの規則をプレイしているようです。これを設定する最も簡単な方法は、あなたのapplication.confDATABASE_URLを使用してだけではなく、あなたのProcfileにデータベースの設定を上書きしないことですプレイ2では、あなたがプレイ2を使用している表示されます。

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

より詳細なウォークについて私のPlay 2 Tutorialを見てください。 build.sbtで

name := """app-name""" 

し、以下を追加しHerokuの2.4果たし使用

+0

私はそれを考え出しました。このような素晴らしいチュートリアルをありがとうございました。そのことが私を助けようとしています。 – Varundroid

+0

回答が受け入れられ+1です。 – Varundroid

+0

私はherokuに自分のアプリを配備する際に奇妙な問題が発生しています。初めてデプロイしたときはすべて正常に動作しますが、2度目にデプロイするとアプリケーションエラーが発生していました。私はgitを削除し、herokuを再作成して再デプロイしました。最初にデプロイしてください。私は私の進化が何かここで釣果をすると思う。どのような理由が考えられますか? – Varundroid

1

、スリック3.0.3 & Postgresはそれが私のためのSQL進化スクリプトを実行し、以下の設定で動作しますapplication.confでlibraryDependenciesで++ =配列(

"com.typesafe.play" %% "play-slick" % "1.0.1", 
"com.typesafe.play" %% "play-slick-evolutions" % "1.0.1", 
"com.typesafe.slick" %% "slick" % "3.0.3", 
"org.postgresql" % "postgresql" % "9.4-1201-jdbc41", 
"org.slf4j" % "slf4j-nop" % "1.6.4", 

とProcfileで10:

web: target/universal/stage/bin/app-name -Dhttp.port=${PORT} -Dplay.evolutions.db.default.autoApply=true 

乾杯

関連する問題