Can someone please help me how can i pull single table from heroku database.
I have tried the following way:
heroku db:pull --tables table_name
with no luck as heroku db:pull
is deprecated now.
Thanks in Advance
Can someone please help me how can i pull single table from heroku database.
I have tried the following way:
heroku db:pull --tables table_name
with no luck as heroku db:pull
is deprecated now.
Thanks in Advance
Not sure if you can pull a single table from heroku but there are certainly some options to pull whole database.You can use Herokus PG Backups add-on to import or export your database
. First you'll have to add it as add on in your app by
$ heroku addons:add pgbackups
$ heroku update
After that you can download your database by
$ heroku pgbackups:capture
$ curl -o latest.dump `heroku pgbackups:url`
You can also use pg:transfer Heroku CLI plugin
to transfer the data in a single step.
From your app's directory, copy your production database locally (assuming a local PG db), by installing the plugin and execute the pg:transfer command.
$ heroku plugins:install https://github.com/ddollar/heroku-pg-transfer
$ heroku pg:transfer
Not sure if this is still relevant, but you can achieve what you want pulling a CSV dump of a single table (or any other format) and then import it. The steps would be as follows:
# 1. Connect to psql on Heroku
$ heroku pg:psql --app your_app_name DATABASE
Then you can download a table like so:
# 2. Pull table_you_want_to_copy
your_app_name::DATABASE=> \COPY table_you_want_to_copy TO '~/local/path/your_table.csv' WITH (FORMAT csv, DELIMITER ',', HEADER true);
A simple version of an importer could look like this:
# 3. Seed local table from fetched CSV
CSV.foreach('~/local/path/your_table.csv, headers: true) do |row|
YourModel.create(row.to_hash)
end
In this block you can ofc define whatever other logic you might require.