2012-06-08 3 views

Odpowiedz

7

Tak, można utworzyć widelec bezpośrednio z jednego DB aplikacji do drugiego. W tym celu należy uzyskać wartość dla DATABASE_URL od swojej pierwotnej aplikacji następnie używać go w poleceniu poniżej:

heroku addons:add heroku-postgresql:ronin --fork postgres://username:[email protected]/database --app yourstagingapp 
+0

Perfect, dzięki – Alex

+0

Aby uzyskać postgres: // URL, uruchom $ Heroku config i chwycić linię DATABASE_URL (lub HEROKU_POSTGRESQL_color_URL) –

3

dodając do odpowiedzi Craiga, oto a script by freeformz który robi całą robotę.

app=${1} 
db_type=${2:-ronin} 

old_db=`heroku config -a ${app}-staging | grep ^HEROKU_POSTGRESQL | cut -d : -f 1 | sed s/_URL//` 
heroku addons:add heroku-postgresql:${db_type} --fork `heroku config -a ${app} | grep ^DATABASE_URL | cut -d : -f 2-5` -a ${app}-staging 
new_db=`heroku config -a ${app}-staging | grep ^HEROKU_POSTGRESQL | grep -v ${old_db} | cut -d : -f 1 | sed s/_URL//` 
heroku pg:wait -a ${app}-staging 
heroku pg:promote ${new_db} -a ${app}-staging 
#Remove the old db 
if [ ! -z "${old_db}" ]l; then 
    heroku addons:remove ${old_db} -a ${app}-staging --confirm ${app}-staging 
fi