Je ne l'ai pas testé, mais cela pourrait fonctionner.
Faites ceci pour obtenir l'URL de votre base de données source :
heroku console "ENV['DATABASE_URL']" --app mysourceapp
Ensuite, essayez d'exécuter db:push
avec ça.
heroku db:push database_url_from_before --app mytargetapp
Cela pourrait ne pas fonctionner si Heroku ne permet pas l'accès aux machines DB depuis l'extérieur de leur réseau, ce qui est probablement le cas. Vous pourriez, peut-être, essayer d'utiliser taps (gemme que les commandes heroku db utilisent en interne) depuis le code de votre application quelque part (peut-être une tâche rake). Cela serait encore plus rapide que l'approche ci-dessus car tout reste complètement dans AWS.
Edit :
Voici une façon (certes bricolée) de faire ce que je viens de décrire :
Récupérez l'URL de la base de données comme dans le premier extrait de code ci-dessus. Ensuite, à partir d'une tâche rake (vous pourriez le faire sur la console, mais vous risquez de vous heurter à la limite de 30 secondes pour les commandes de la console), exécutez une commande shell vers taps (je n'ai pas pu déterminer facilement s'il est possible d'utiliser taps directement à partir de Ruby ; tous les documents montrent l'utilisation de la CLI) :
`taps pull database_url_from_source_app #{ENV['DATABASE_URL']}`
Les backticks sont importants ; c'est ainsi que Ruby désigne une commande shell, ce qu'est taps. Espérons que la commande taps soit accessible depuis l'application. Cela évite le problème de l'accès à la machine de la base de données depuis l'extérieur de Heroku, puisque vous exécutez cette commande depuis votre application.