Jak mówi Kirsten, plany współdzielonej bazy danych nie są obecnie dostępne spoza platformy Heroku (to coś zarezerwowanego dla „produkcyjnej” usługi Postgres). Istnieje jednak kilka innych opcji.
Jednym z głównych jest ściąganie danych i przeglądanie ich lokalnie. Za pomocą rubygem Taps to na szczęście bardzo proste:
$ 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
Dostępnych jest kilka innych opcji, które mogą ułatwić to zadanie, jeśli używasz dużego zestawu danych:
# -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
Wszystko to można zobaczyć w źródle klejnotów heroku .
Tapów można również używać poza kontekstem Heroku. Więcej informacji znajdziesz w README. .
Drugą opcją, która jest znacznie bardziej preferowana w przypadku większych zestawów danych, jest użycie dodatku pgbackups Heroku . Umożliwi to utworzenie zrzutu bazy danych, a następnie pobranie pliku lokalnie w celu zaimportowania do czystej bazy danych. Jest to znacznie szybsze niż Taps ze względu na sposób działania Taps.
Używanie jest przyjemne i proste:
$ 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"
Ten ostatni adres URL można pobrać i zaimportować.