Database 如何使用sql文件填充heroku postgresql数据库

Database 如何使用sql文件填充heroku postgresql数据库,database,postgresql,heroku,heroku-postgres,heroku-cli,Database,Postgresql,Heroku,Heroku Postgres,Heroku Cli,首先,我想说的是,我不是数据库专家,也没有使用heroku服务的经验 我想将play framework应用程序部署到heroku服务。我需要一个数据库来完成这项工作。所以我用这个命令创建了一个postgresql数据库,因为heroku支持它: Users-MacBook-Air:~ user$ heroku addons:create heroku-postgresql -a name_of_app 我得到了这个回应 Creating heroku-postgresql on ⬢ benc

首先,我想说的是,我不是数据库专家,也没有使用heroku服务的经验

我想将play framework应用程序部署到heroku服务。我需要一个数据库来完成这项工作。所以我用这个命令创建了一个postgresql数据库,因为heroku支持它:

Users-MacBook-Air:~ user$ heroku addons:create heroku-postgresql -a name_of_app
我得到了这个回应

Creating heroku-postgresql on ⬢ benchmarkingsoccerclubs... free
Database has been created and is available
! This database is empty. If upgrading, you can transfer
! data from another database with pg:copy
所以DB现在是存在的,但当然是空的。为了开发,我使用了一个本地H2数据库

现在我想使用sql文件填充heroku上的DB,因为它包含大量数据。但我找不到该怎么做。是否有用于heroku CLI的命令,在该命令中我可以将sql文件作为参数移交,并填充数据库?该文件基本上由几个创建的表和大约10000个Insert命令组成


编辑:我还有来自所有表的CSV文件。因此,如果有一种方法可以让我用这些数据填充Postgres DB,那将是非常好的

首先,运行以下命令以获取数据库的名称

heroku pg:info --app <name_of_app>
然后,发出以下命令:

heroku pg:psql <Add-on> --app <name_of_app> < my_sql_file.sql
heroku pg:psql--app 例如(假设您的sql命令位于test.sql文件中):

heroku pg:psql postgresql-angular-12345——应用程序my_cool_应用程序是的,我做到了。现在,我在运行sql文件时遇到了一些错误。每次创建表或插入时,每个字符都有一个错误。你知道如何解决这个问题吗?你的SQL语法可能有错误。如果看不到您的文件和您得到的确切错误,就无法知道。不应该有任何语法错误。当然没有那么多。我以前在h2浏览器控制台中运行过这个文件,它运行得很好。我现在还有h2数据库中的CSV文件,是否可以用这些CSV文件填充Postgres数据库?如果没有看到您的SQL文件和您收到的错误,这真的很有帮助。首先,请尝试传入一个非常简单的SQL文件,比如说仅使用1个CREATETABLE。一旦完成了这项工作,就可以继续使用更复杂的SQL脚本。至于从CSV中填充博士后,请参见。@YoniRabinovitch非常感谢您!它工作得很好!
heroku pg:psql <Add-on> --app <name_of_app> < my_sql_file.sql
heroku pg:psql postgresql-angular-12345 --app my_cool_app < test.sql