2010-10-24 20 views
12

जब मैं तैनात करता हूं तो हेरोकू मेरे डेटाबेस स्कीमा को अपडेट नहीं कर रहा है। मेरी तैनाती प्रक्रिया हैheroku डेटाबेस स्कीमा को अपडेट नहीं कर रहा है

create_table "users", :force => true do |t| 
t.string "username" 
t.datetime "created_at" 
t.datetime "updated_at" 
t.string "email" 
t.string "encrypted_password" 
t.string "salt" 
t.string "remember_token" 
t.boolean "admin",    :default => false 

अंत

यहाँ:

git push heroku master 
heroku rake db:migrate 
heroku db:push 

सब कुछ जाने के लिए लगता है यहाँ विवरण हैं:

यहाँ क्या है उपयोगकर्ता वर्ग के लिए की तरह दिखना चाहिए है सुचारू रूप से ... अगर मैं वास्तव में डीबी में वास्तव में उपयोगकर्ता तालिका की जांच करता हूं ...

heroku console User 

... मैं उपयोगकर्ता के एक पुराने संस्करण मिलता है ...

User(id: integer, username: string, created_at: datetime, updated_at: datetime) 

किसी भी विचार मैं गलत क्या कर रहा हूँ? आपकी मदद के लिए बहुत बहुत धन्यवाद!

साइमन

+0

क्या आप सुनिश्चित हैं कि आपके सभी माइग्रेशन स्रोत नियंत्रण में हैं? –

उत्तर

24

आप किसी भी उत्पादन जब आप heroku rake db:migrate देखते हैं?

वेब सर्वर और डीजे श्रमिकों को पुनरारंभ करने के लिए माइग्रेट करने के बाद heroku restart चलाने का प्रयास करें। इससे आपके कंसोल को प्रभावित नहीं होना चाहिए, लेकिन मैंने वेब सर्वर को तैनात करने के तुरंत बाद कोड के पुराने संस्करणों की सेवा की है, जो आमतौर पर कोई समस्या नहीं है लेकिन लंबित माइग्रेशन के साथ हो सकता है।

+0

धन्यवाद टीएफ, ऐसा लगता है कि यह एक अस्थायी समस्या थी। यह अभी ठीक काम कर रहा है। मुझे लगता है कि एक पुनरारंभ करने से भी समस्या हल हो जाएगी। – Simon

+3

'heroku restart' मेरे लिए काम किया, धन्यवाद – Eloff

0

स्वीकृत उत्तर सही है। FYI करें, हालांकि, आप अब heroku run rake db:migrate उपयोग करें, क्योंकि heroku rake db:migrate

1

बहिष्कृत हो गई है आप

Heroku रन रेक db करके देख सकते हैं: विस्थापित
Heroku पुनः आरंभ

आशा इस मदद करता है।

-1

भागो heroku rake db:migrate फिर heroku restart

अपने वेब पेज को रिफ्रेश और यह सब काम करना चाहिए।

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