如何从Heroku PostgreSQL获取数据库模式?

3

我需要评估运行在Heroku上的Postgres实例的数据库模式。不幸的是,我尝试了以下方法:

heroku run -a my_app_name 'pg_dump -s DATABASE_URL' > output.sql

DATABASE_URL应该是整个字符串中的一部分

heroku config:get DATABASE_URL -a my_app_name

这是我能找到的最接近的了,因为命令可以运行,但输出却为空。因此,我添加了标志-spg_dump,只获取模式而不是数据。
我还尝试遵循这个答案,但无法使用它来获取模式。

1
你的第一个 heroku run -a ... 应该没问题,我刚刚试过了。你确定你使用的是正确的 DATABASE_URL 吗? - mu is too short
1
谢谢@muistooshort,你是对的,我最终得到了输出文件,因为它以*-- PostgreSQL database dump complete* 结尾,所以成功了。然而,我不确定它花了多长时间,命令执行从未结束,我必须在完成后关闭终端窗口,因为没有响应。总之很好。 - Francesco
1
你的回答是我在尝试了几个小时后唯一有效的方法...在我的情况下,我从Heroku ->我的应用程序->资源->查看数据库凭据中复制了DATABASE_URL,然后复制了URI,如果有人需要的话。 - Joe Boyle
1个回答

0
如果您需要访问该应用程序的权限,您可以运行它。
heroku pg:pull DATABASE_URL local_db_name --exclude-table-data="*.*" --app heroku_app_name

它将提取所有表的结构,但不包括数据。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接