10 मिनट स्थानीय SQLite से एक Heroku Postgres पर ले जाएँ
-- रास्ते में पोस्टग्रेज करने के लिए अपने स्थानीय देव को अपडेट करता है --
यह माना जा रहा है कि आपके पास स्क्लाइट में एक विकास डेटाबेस है और आप संरचना और डेटा को उसकेोकू में ले जाना चाहते हैं। आप पहले अपने स्थानीय परिवेश को पोस्टग्रेज़ करने के लिए बदलेंगे, फिर उसे ऊपर ले जाएंगे।
क्यों बदलें? आपके पास हमेशा अपने विकास के माहौल को अपने उत्पादन के माहौल का आईना होना चाहिए। Postgres का उपयोग करना Heroku पर डिफ़ॉल्ट है।
आपको पहले उस उपयोगकर्ता के साथ पोस्टग्रेज़ को स्थानीय रूप से स्थापित और कॉन्फ़िगर करना होगा जिसके पास आपका उपयोगकर्ता नाम है
आवश्यक सॉफ़्टवेयर:postgresql, pgloader, Heroku-cli
कदम
SQLite से अपने देव परिवेश पर Postgres पर जाएं
- heroku / pgloader / postgres स्थापित करें, और सुनिश्चित करें कि आपके सिस्टम पर postgresql चल रहा है
- बैकअप sqlite - development.sql को development_old.sql पर कॉपी करें
gem 'pg'
आपके Gemfile के मुख्य भाग में- बंडल इंस्टॉल
- config/database.yml अपडेट करें (नीचे नमूना देखें)
- रेक डीबी:सेटअप
- सीडी [आवेदन रूट]
- डेटा के साथ पोस्टग्रेज़ डीबी लोड करें -
pgloader ./db/development.sqlite3 postgresql:///[name of postgres dev db]
- निकालें
gem 'sqlite3'
- बंडल इंस्टॉल
- सर्वर प्रारंभ करें -
rails server
- लोकलहोस्ट पर ऐप पर जाकर टेस्ट करें:3000
Heroku पर नया ऐप सेटअप करें
हरोकू के इन निर्देशों का पालन करें
डेटा को उसकेोकू में ले जाएं
- हेरोकू डीबी जानकारी ढूंढें -
heroku pg:info
- रिमोट डीबी मिटाएं और रीसेट करें -
heroku pg:reset DATABASE_URL --app [name of app]
- स्थानीय डेटा को उसकेोकू में पुश करें -
heroku pg:push [name of postgres dev db] DATABASE_URL --app [name of app]
नोट:यदि उस डेटाबेस में 10k से अधिक पंक्तियाँ हैं, तो आपको उसकेोकू पर एक हॉबी-बेसिक टियर में अपग्रेड करने की भी आवश्यकता होगी
हेरोकू को हॉबी टियर बेसिक में अपग्रेड करना
- नया टियर बनाएं - `हेरोकू एडॉन्स:हरोकू-पोस्टग्रेस्क्ल बनाएं:हॉबी-बेसिक --ऐप [ऐप का नाम]
- नया डेटाबेस url प्राप्त करें -
heroku pg:info
- रखरखाव चालू करें -
heroku maintenance:on --app [name of app]
- डेटा कॉपी करें -
heroku pg:copy DATABASE_URL [HEROKU_POSTGRESQL_COLOR_URL] --app [name of app]
- नए डीबी को बढ़ावा दें -
heroku pg:promote [HEROKU_POSTGRESQL_COLOR_URL] --app [name of app]
- रखरखाव बंद करें
- Heroku ऐप पर जाकर टेस्ट करें
यदि आप मुद्दों या किनारे के मामलों में भाग लेते हैं, तो सहायता के लिए यहां कुछ संसाधन दिए गए हैं।
संसाधन:
- https://pgloader.io
- इंस्टॉल डॉक्स को पोस्टग्रेज करता है
- हेरोकू नई रेल स्थापित करें
- हेरोकू क्ली जानकारी
- हेरोकू क्ली का उपयोग करना
database_sample.yml
default: &default
adapter: postgresql
encoding: unicode
host: localhost
port: 5432
# For details on connection pooling, see Rails configuration guide
# http://guides.rubyonrails.org/configuring.html#database-pooling
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
timeout: 5000
development:
<<: *default
database: [name of app]_dev
test:
<<: *default
database: [name of app]_test
staging:
<<: *default
database: [name of app]
production:
<<: *default
database: [name of app]