मैं इसी मुद्दे में भाग गया और यहां बताया गया है कि मैंने इसे कैसे हल किया।
-
उस डेटाबेस यूआरएल को सेट करें जिसे आप पाइपलाइन के लिए बेस ऐप पर एक पर्यावरण चर के रूप में कॉपी करना चाहते हैं। मेरे मामले में यह
STAGING_DATABASE_URL
है . यूआरएल प्रारूप हैpostgresql://username:[email protected]:port/db_name
। -
आपके
app.json
. में फ़ाइल उस वेरिएबल को कॉपी करना सुनिश्चित करें। -
आपके
app.json
. में एक नए डेटाबेस का प्रावधान करें जोDATABASE_URL
. सेट करेगा पर्यावरण चर। -
डेटाबेस पर कॉपी करने के लिए निम्न स्क्रिप्ट का उपयोग करें
pg_dump $STAGING_DATABASE_URL | psql $DATABASE_URL
यह रहा मेरा app.json
संदर्भ के लिए फ़ाइल:
{
"name": "app-name",
"scripts": {
"postdeploy": "pg_dump $STAGING_DATABASE_URL | psql $DATABASE_URL && bundle exec rake db:migrate"
},
"env": {
"STAGING_DATABASE_URL": {
"required": true
},
"HEROKU_APP_NAME": {
"required": true
}
},
"formation": {
"web": {
"quantity": 1,
"size": "hobby"
},
"resque": {
"quantity": 1,
"size": "hobby"
},
"scheduler": {
"quantity": 1,
"size": "hobby"
}
},
"addons": [
"heroku-postgresql:hobby-basic",
"papertrail",
"rediscloud"
],
"buildpacks": [
{
"url": "heroku/ruby"
}
]
}