5

काम नहीं करते हैं, मैं बिना सफलता के अपने डेटाबेस को अपनेोकू में माइग्रेट करने का प्रयास कर रहा हूं। मैंने अपने डेटाबेस में कुछ और उपयोगकर्ताओं को जोड़ा है और जब मैं अपने heroku ऐप पर ईमेल पता और पासवर्ड के साथ लॉग इन करने का प्रयास कर रहा हूं, तो मुझे अमान्य ईमेल/पासवर्ड त्रुटि मिलती है, भले ही यह मेरे स्थानीय सर्वर पर पूरी तरह से ठीक काम करे। नीचे वर्णित सभी चरणों को करने पर बिल्कुल कोई त्रुटि नहीं है।उसकेोकू में डेटाबेस माइग्रेशन

  1. स्थानीय कोड
  2. को स्थानीय तौर पर किसी भी माइग्रेशन Ran में किए गए परिवर्तनों - मैं bundle exec rake db:migrate
  3. जोड़ा गया सब बदल फ़ाइलों का उपयोग किया git add -A Git करने के लिए:

    के रूप में एक पिछली पोस्ट में सुझाव दिया है, मैं निम्नलिखित की कोशिश की है

  4. git करने के लिए git commit -m "Adding features"
  5. Heroku git push heroku master को
  6. परिवर्तन पुश कर दिया सब जोड़ा फ़ाइलों कमिट
  7. heroku run rake db:migrate

Ran मैं इस चलाने के बाद मैं:

astelvida:~/workspace/sample_app (master) $ heroku run rake db:migrate 
Running rake db:migrate on ⬢ shrouded-ravine-80000... up, run.2794 
ActiveRecord::SchemaMigration Load (0.8ms) 
SELECT "schema_migrations".* FROM "schema_migrations" 
    मैं भी देख लिया है
  1. बाद माइग्रेशन करना heroku restart

मेरी। sqlite3 फ़ाइल यह जांचने के लिए कि नए उपयोगकर्ता वास्तव में डेटाबेस में मौजूद हैं।

मैं भी इस की कोशिश की है: $ bundle exec rake db:migrate RAILS_ENV=production

मैं अपने gemfile.lock नवीनीकृत किया है।

देव & उत्पादन में मेरे जवाहरात:

group :development, :test do 
    gem 'sqlite3',  '1.3.9' 
    gem 'byebug',  '3.4.0' 
    gem 'web-console', '2.0.0.beta3' 
    gem 'spring',  '1.1.3' 
end 

group :production do 
    gem 'pg',    '0.17.1' 
    gem 'rails_12factor', '0.0.2' 
    gem 'puma',   '3.1.0' 
end 

नोट: मैं बंडल चलाने उत्पादन --without स्थापित करते हैं, लेकिन यह है कि कैसे मैं हमेशा यह प्रयोग कर रहे हैं, और प्रवेश डेटा से कुछ के लिए काम करता है उपयोगकर्ताओं को मैंने अतीत में बनाया है। इसके अलावा मैं रेल 4.2.2 का उपयोग कर रहा हूँ।

+0

अपने 'database.yml' प्रदान करते हैं और Heroku माइग्रेशन पर लॉग ऑन करें –

उत्तर

1

ठीक है ... चलो यहाँ कुछ स्पष्ट करें।

रेक डीबी: माइग्रेट डेटाबेस के डेटा माइग्रेट नहीं करता है। यह सभी माइग्रेशन (टेबल क्रिएशन, अपडेट इत्यादि) चलाता है ताकि डेटाबेस संरचना समान हो, हालांकि डेटा नहीं है! यह एक ही संरचना के साथ एक नया नया डेटाबेस है।

आप क्या कर रहे हैं यह सुनिश्चित कर रहा है कि आपके पीजी डेटाबेस में आपके sqlite3 डेटाबेस के समान संरचना है और यह करता है। लेकिन अगर आप एक से दूसरे डेटा को पास करना चाहते हैं तो यह मुश्किल होगा कि मैं कहूंगा। आपको अपने स्क्लाइट 3 डेटाबेस से डंप फ़ाइल बनाना है, इसे पीजी में बदलें और अपने हेरोकू ऐप में चलाएं।

यहां इसके बारे में एक प्रश्न है।

Convert SQLITE SQL dump file to POSTGRESQL

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