sql - 如何在 heroku 上执行 .sql 脚本?

标签 sql postgresql heroku

我有一个带有一堆插入命令的 .sql 文件,我想在 heroku 上的 postgres 数据库上执行这些命令。但我不知道该怎么做:-

如果我可以访问 postgres 控制台,我会输入以下内容:

psql -h localhost -d database -U username -f datafile.sql

但是heroku好像不支持这个命令。我试过

heroku pg:psql

但这不允许我输入文件。

还有其他选择吗?

最佳答案

对于像为数据库播种这样的事情,我推荐 Richard Brown 的回答:你可以说最好使用 Rails 种子机制之类的东西,或者像 rake 任务这样编写脚本的东西。

也就是说,能够通过管道传输 sql(原始文件或文件)是一项有用的功能,尤其是对于像简单查找或例行查询这样的幂等操作。在这种情况下,您可以使用以下任何一项执行本地 sql:

$ cat file.sql | heroku pg:psql --app app_name
$ echo "select * from table;" | heroku pg:psql --app app_name
$ heroku pg:psql --app app_name < file.sql

关于sql - 如何在 heroku 上执行 .sql 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15237366/

相关文章:

mysql - 在 phpmyadmin 中仅将几个值设置为要枚举的域

mysql - 当我尝试在 MySQL 中创建表时,它给出错误代码 1215 : “Cannot add foreign key constraint”

sql - 如何找到SQL Server默认实例名?

django - 内存数据库性能问题中的 PostgreSQL

express - GET请求返回html而不是对象,返回的路由无法进入Heroku服务器

SQL Server 从现有日期列中确定日期

postgresql - PostgreSQL 9.4 中没有 ROLLUP 和 CUBE?

python - 加载 psycopg2 模块时出错 : dlopen with virtualenv django python 2. 7

javascript - Node JS Heroku 无法 GET/

node.js - npm 错误!错误: spawn ENOENT