【发布时间】:2014-07-10 02:59:27
【问题描述】:
谁能帮我从heroku数据库中提取单个表。
我尝试了以下方法:
heroku db:pull --tables table_name
没有运气,因为 heroku db:pull 现在已被弃用。
提前致谢
【问题讨论】:
标签: ruby-on-rails postgresql heroku
谁能帮我从heroku数据库中提取单个表。
我尝试了以下方法:
heroku db:pull --tables table_name
没有运气,因为 heroku db:pull 现在已被弃用。
提前致谢
【问题讨论】:
标签: ruby-on-rails postgresql heroku
不确定是否可以从 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
【讨论】:
不确定这是否仍然相关,但您可以实现您想要的提取单个表(或任何其他格式)的 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
在这个块中,您可以定义您可能需要的任何其他逻辑。
【讨论】: