2012-08-13 8 views
10

की वजह से नाकाम रहने मैं प्ले 2.0 tutorial स्कालाप्ले 2.0 स्केला ट्यूटोरियल - Heroku विकास

के लिए

सब कुछ ठीक काम करता है जब तक मैं धक्का और Heroku पर इसे चलाने के लिए कोशिश करना चाहता हूं। "गिट पुश हेरोकू मास्टर" चलाने के बाद, सर्वर दुर्घटनाग्रस्त हो जाता है। लॉग की जांच कर रहा है, मैं निम्नलिखित देखता हूं:

Starting process with command `target/start -Dhttp.port=37849 -Xmx384m -Xss512k -XX:+UseCompressedOops` 
2012-08-13T06:52:45+00:00 app[web.1]: Play server process ID is 2 
2012-08-13T06:52:46+00:00 app[web.1]: [info] play - database [default] connected at jdbc:h2:mem:play 
2012-08-13T06:52:46+00:00 app[web.1]: [warn] play - Your production database [default] needs evolutions! 
2012-08-13T06:52:46+00:00 app[web.1]: 
2012-08-13T06:52:46+00:00 app[web.1]: CREATE SEQUENCE task_id_seq; 
2012-08-13T06:52:46+00:00 app[web.1]: label varchar(255) 
2012-08-13T06:52:46+00:00 app[web.1]: CREATE TABLE task (
2012-08-13T06:52:46+00:00 app[web.1]: id integer NOT NULL DEFAULT nextval('task_id_seq'), 
2012-08-13T06:52:46+00:00 app[web.1]:); 
2012-08-13T06:52:46+00:00 app[web.1]: 
2012-08-13T06:52:46+00:00 app[web.1]: # --- Rev:1,Ups - c5e3eee 
2012-08-13T06:52:46+00:00 app[web.1]: [warn] play - Run with -DapplyEvolutions.default=true if you want to run them automatically (be careful) 
2012-08-13T06:52:46+00:00 app[web.1]: Oops, cannot start the server. 
2012-08-13T06:52:46+00:00 app[web.1]: PlayException: Database 'default' needs evolution! [An SQL script need to be run on your database.] 
2012-08-13T06:52:46+00:00 app[web.1]: at play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1.apply(Evolutions.scala:422) 

कोई विचार?

उत्तर

-6

आपको एक डेटाबेस की आवश्यकता है। Heroku में नि: शुल्क एडऑन हैं

+0

मैं निर्भरता था PostgreSQL के लिए मेरे Build.scala फ़ाइल में और मेरे Procfile में निर्दिष्ट है। हालांकि, मैंने इस मुद्दे को खोज लिया - मेरे पास मेरे प्रोफाइल में एक टाइपो था और यह ठीक से लोड नहीं हो रहा था। निश्चित रूप से एक रूकी गलती! – user1594608

+0

समस्या एक विकास स्क्रिप्ट के कारण होती है जिसे निष्पादित करने की आवश्यकता होती है। निष्पादित करने के लिए विकास स्क्रिप्ट को स्वचालित रूप से ठीक करने के लिए सेट करना। –

16

या तो अगर आप एम्बेड डीबी या PostgreSQL का उपयोग, प्ले के रूप में त्रुटि संदेश में कहा, हाथ से विकास लागू करने के लिए एक समर्थन नहीं है ...

लेकिन, आप सक्षम करने से बता देंगे ऑटो ly सभी विकास ने लागू करने के लिए खेलते हैं applyEvolutions.default=true

: application.conf फ़ाइल में एक विन्यास कुंजी सक्रिय कर सकते हैं!

लेकिन अपनी अपडेट स्क्रिप्ट पर ध्यान दें ... यदि आप प्रत्येक incremental संस्करण को छोड़ते हैं और फिर से बनाते हैं => आप अपने सभी डेटा को मार देंगे!

+0

हमारे आवेदन को अपडेट करते समय विकास का उपयोग करने का सही तरीका क्या है? –

+1

मेरा सबसे अच्छा अनुमान यह है कि आपके incremental sal को सुरक्षात्मक सुनिश्चित करने के लिए सुनिश्चित करें .. उदाहरण के लिए कोई डिलीट नहीं है लेकिन मानों को जोड़ने या अनुकूलित करने के लिए अद्यतन करें। अच्छे आईटी परीक्षणों के साथ, आप किसी भी डर के बिना विकास लागू करने में सक्षम होंगे –

3

एंडी समाधान के लिए एक वैकल्पिक जोड़ने जा सकता है Heroku के लिए निम्न procfile

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

($ पोर्ट और $ DATABASE_URL Heroku तरफ वातावरण चर की आबादी किया जाएगा)

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