有人可以帮助我如何从heroku数据库中提取单个表格。
我尝试过以下方式:
heroku db:pull --tables table_name
没有运气,因为heroku db:pull
现已弃用。
先谢谢
答案 0 :(得分:0)
不确定你是否可以从heroku中提取单个表,但肯定有一些选项来提取整个数据库。你可以使用Herokus PG Backups add-on to import or export your database
。首先,您必须通过
$ heroku addons:add pgbackups
$ heroku update
之后,您可以通过
下载数据库$ heroku pgbackups:capture
$ curl -o latest.dump `heroku pgbackups:url`
您也可以使用pg:transfer Heroku CLI plugin
一步传输数据。
从应用程序的目录中,通过安装插件并执行pg:transfer命令,在本地复制生产数据库(假设本地PG数据库)。
$ heroku plugins:install https://github.com/ddollar/heroku-pg-transfer
$ heroku pg:transfer
答案 1 :(得分:0)
不确定这是否仍然有意义,但是您可以实现想要提取单个表(或任何其他格式)的CSV转储并导入它的功能。步骤如下:
# 1. Connect to psql on Heroku
$ heroku pg:psql --app your_app_name DATABASE
然后您可以像这样下载表格:
# 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);
一个简单的进口商版本可能看起来像这样:
# 3. Seed local table from fetched CSV
CSV.foreach('~/local/path/your_table.csv, headers: true) do |row|
YourModel.create(row.to_hash)
end
在此块中,您可以定义其他可能需要的逻辑。