2012-06-28 17 views
5

Oyun çerçeve uygulaması aracılığıyla heroku'da postgres veritabanını kurmaya çalışıyorum ancak DATABASE_URL ile ilgili bir hata almaya devam ediyorum.Heroku - Play Framework uygulaması aracılığıyla postgres veritabanı kurulamıyor mu?

Yığın izleme: - i komutunu heroku config kullanarak bulduğu,

echo "export DATABASE_URL=postgres://postgres:[email protected]/Play">>.bash_profile 
. .bash_profile 

Ben de başka bir URL ayarlamak çalıştı -

-----> 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]' 

aşağıdaki komutu kullanarak ortam değişkeni olarak benim DATABASE_URL set Buldum, uzun, büyük bir postgres URL'sidir, ancak her seferinde ortaya çıkan aynı istisna da işe yaramadı. İşte

i

%prod.db=${DATABASE_URL} 

Bağımlılık

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

Yani şimdi benim DATABASE_URL hakkında karıştı benim dosyasına koyarak dosyasında eklemiş budur. Heroku neden uygun bir değerle değiştiremiyor? Heroku uygun bir URL'yi nerede arıyor? Benim application.conf dosya veya sistemimin bash profilinde ayarlanmış ortam değişkenleri?

Herhangi bir yardım gerçekten takdir edilecektir.

Teşekkür

DÜZENLEME

Kayıtlar

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

sen Heroku config' 'çalıştırdığınızda listelenen' DATABASE_URL' değeri görüyor musunuz? –

+0

@RyanDaigle Evet gördüm. Bu URL'yi de kullanmaya çalıştım ama şans yok. – Varundroid

cevap

18

görünüyor bazı Çal 1 karıştırma ve 2 kurallarına Çal edilir. Daha detaylı yürüyüş-İçin

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

: sizin application.conf içinde DATABASE_URL kullanmamayı Bunu ayarlamak için Oynat 2'de en kolay yolu Çal 2. kullanılarak ve bunun yerine sadece Procfile veritabanı yapılandırma geçersiz olduğunu görüyoruz Benim Play 2 Tutorial görüyorum. build.sbt içinde

:

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

ve aşağıdakileri ekleyin Heroku içinde 2.4 oynamak kullanma

+0

Teşekkürler anladım. Böyle harika bir eğitim için çok teşekkür ederim. Bana çok yardımcı olacak. – Varundroid

+0

Yanıt kabul edildi ve +1. – Varundroid

+0

Uygulamamı heroku'ya dağıtırken garip bir sorun yaşıyorum. ilk defa konuştuğumda, her şey iyi çalışıyor, ancak ikinci kez dağıttığımda bir Uygulama hatası veriyordu. Git'i sildim, tekrar kullanılan heroku'yu kullandım ve yeniden dağıtdım, ilk dağıtımı - iyi çalışıyor ama ikinci konuşlandır - tekrar uygulama hatası. Evrimimin burada balık gibi bir şey yaptığını düşünüyorum. Sebep ne olabilir? – Varundroid

1

, Slick 3.0.3 & postgres benim için benim sql evrim komut dosyalarını çalıştırır aşağıdaki kurulum işleri dosyasına koyarak içinde libraryDependencies içinde ++ = Dizi (

"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", 

:

ve Procfile 10:

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

Alkış

İlgili konular