Comme le dit Kirsten, les plans de base de données partagés ne sont actuellement pas accessibles depuis l'extérieur de la plate-forme Heroku (c'est quelque chose de réservé au service Postgres de "production"). Cependant, il existe quelques autres options.
L'un des principaux consiste à extraire vos données et à les examiner localement. En utilisant le rubygem Taps c'est heureusement très très simple :
$ heroku db:pull
...
Receiving schema
Receiving data
8 tables, 591 records
users: 100% |==============================================| Time: 00:00:00
pages: 100% |==============================================| Time: 00:00:00
comments: 100% |==============================================| Time: 00:00:00
tags: 100% |==============================================| Time: 00:00:00
Receiving indexes
Resetting sequences
Il existe quelques autres options disponibles qui peuvent rendre cette tâche plus légère si vous utilisez un grand ensemble de données :
# -c, --chunksize SIZE # specify the number of rows to send in each batch
# -d, --debug # enable debugging output
# -e, --exclude TABLES # exclude the specified tables from the push
# -f, --filter REGEX # only push certain tables
# -r, --resume FILE # resume transfer described by a .dat file
# -t, --tables TABLES # only push the specified tables
Tout cela peut être vu dans la heroku gem source .
Les taps peuvent également être utilisés en dehors du contexte Heroku. Voir le README pour plus d'informations. .
Une deuxième option, et beaucoup plus préférable avec des ensembles de données plus volumineux, consiste à utiliser le module complémentaire Heroku pgbackups . Cela vous permettra de créer un vidage de votre base de données, puis de télécharger le fichier localement pour l'importer dans une base de données propre. C'est beaucoup plus rapide que les Taps en raison de la façon dont les Taps fonctionnent.
L'utilisation est simple et agréable :
$ heroku update
$ heroku addons:add pgbackups
Adding pgbackups to myapp... done
$ heroku pgbackups:capture
DATABASE_URL ----backup---> b003
Dump... 2.6MB, done
Upload... 2.6MB, done
$ heroku pgbackups
ID | Backup Time | Size | Database
-----+---------------------+---------+----------------------
b003 | 2010/10/22 15:16.01 | 2.6MB | SHARED_DATABASE_URL
b004 | 2010/10/22 15:18.12 | 424.7MB | HEROKU_POSTGRESQL_URL
$ heroku pgbackups:url b004
"http://s3.amazonaws.com/hkpgbackups/[email protected]/b004.dump?AWSAccessKeyId=ABCD1234&Expires=1289261668&Signature=3mMBeKISewgEUDT%2FL5mRz4EYS4M%3D"
Cette dernière URL peut être téléchargée et importée.