2012-06-28 4 views
5

मैं प्ले फ्रेमवर्क ऐप के माध्यम से उसकेोकू पर पोस्टग्रेज़ डेटाबेस सेट अप करने का प्रयास कर रहा हूं लेकिन मुझे अपने DATABASE_URL के संबंध में कोई त्रुटि मिल रही है।हेरोोकू - प्ले फ्रेमवर्क ऐप के माध्यम से पोस्टग्रेज़ डेटाबेस सेट करने में असमर्थ?

स्टैक ट्रेस: ​​-:

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

मैं भी एक और URL सेट करने की कोशिश की, मैं आदेश heroku config का उपयोग कर जो मिला -

-----> 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 सेट कि मुझे पता चला कि एक बड़ा लंबा पोस्टग्रेस यूआरएल है, लेकिन यह हर बार उत्पन्न होने वाला एक ही अपवाद और एक ही अपवाद नहीं करता है।

यहाँ मैं अपने application.conf फ़ाइल में क्या शामिल किया है

%prod.db=${DATABASE_URL} 

निर्भरता

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

तो अब मैं अपने DATABASE_URL के बारे में उलझन में हूँ है। क्यों उसकाोकू उचित मूल्य के साथ इसे प्रतिस्थापित करने में असमर्थ है। Heroku कहां उपयुक्त यूआरएल की तलाश में है? मेरे application.conf फ़ाइल में या मेरे सिस्टम की बैश प्रोफ़ाइल में सेट किए गए पर्यावरण चर में?

किसी भी मदद की वास्तव में सराहना की जाएगी।

धन्यवाद

संपादित

लॉग्स

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

आप सूचीबद्ध एक 'DATABASE_URL' मूल्य देखते हैं जब आप' चलाने Heroku config' है? –

+0

@RyanDaigle हाँ मैंने देखा। मैंने उस यूआरएल का उपयोग करने की कोशिश की लेकिन कोई किस्मत नहीं। – Varundroid

उत्तर

18

ऐसा लगता है कि आप कुछ प्ले 1 मिश्रण और 2 सम्मेलनों प्ले कर रहे हैं। ऐसा प्रतीत होता है कि आप खेलने 2. सबसे आसान तरीका उपयोग कर रहे हैं खेलने के 2 सेट अप करने के लिए है अपने application.conf में DATABASE_URL का उपयोग नहीं करने के लिए और इसके बजाय सिर्फ अपने Procfile में डेटाबेस config ओवरराइड:

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

एक अधिक विस्तृत walk- के लिए मेरे Play 2 Tutorial देखें।

+0

धन्यवाद मैंने इसे समझ लिया। इस तरह के एक महान ट्यूटोरियल के लिए बहुत बहुत धन्यवाद। यह मेरी मदद करने जा रहा है। – Varundroid

+0

उत्तर स्वीकृत और +1। – Varundroid

+0

मुझे अपने ऐप को हरोकू पर तैनात करते समय एक अजीब समस्या है। जब मैंने इसे पहली बार तैनात किया, तो सबकुछ ठीक काम करता है लेकिन जब मैं इसे दूसरी बार तैनात करता हूं, तो यह एक एप्लीकेशन त्रुटि दे रहा था। मैंने गिट हटा दिया, फिर से उसका इस्तेमाल किया और उसका पुन: नियोजित किया, पहले तैनाती - ठीक काम करना लेकिन दूसरा तैनाती - फिर से आवेदन त्रुटि। मुझे लगता है कि मेरा विकास यहाँ कुछ गड़बड़ कर रहा है। कोई विचार क्या कारण हो सकता है? – Varundroid

1

2.4 खेलने का उपयोग करना, Heroku में स्लिक 3.0.3 & postgres यह मेरे लिए काम करता निम्नलिखित सेटअप है कि मेरे एसक्यूएल विकास स्क्रिप्ट चलाता है:

build.sbt में

:

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

और निम्नलिखित जोड़ें libraryDependencies में ++ = Seq (

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

application.conf में:

slick.dbs.default.driver ="slick.driver.PostgresDriver$" 
slick.dbs.default.db.dataSourceClass = "slick.jdbc.DatabaseUrlDataSource" 
slick.dbs.default.db.properties.driver = "org.postgresql.Driver" 

और Procfile में:

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

चीयर्स

संबंधित मुद्दे