4

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

我想将播放框架应用程序部署到 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

所以数据库现在已经存在,但当然是空的。对于开发,我使用了本地 H2 数据库。

现在我想使用 sql 文件在 heroku 上填充数据库,因为它有很多数据。但我找不到如何做到这一点。heroku CLI 是否有命令,我可以在其中将 sql 文件作为参数移交并填充数据库?该文件基本上由几个创建的表和大约 10000 个插入命令组成。

编辑:我也有来自所有表的 CSV 文件。因此,如果有一种方法可以让我用这些填充 Postgres DB,那也很棒

4

1 回答 1

6

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

heroku pg:info --app <name_of_app>

在输出中,注意“Add-on”的值,它应该如下所示:

Add-on:                postgresql-angular-12345

然后,发出以下命令:

heroku pg:psql <Add-on> --app <name_of_app> < my_sql_file.sql

例如(假设您的 sql 命令在文件 test.sql 中):

heroku pg:psql postgresql-angular-12345 --app my_cool_app < test.sql
于 2018-01-10T08:19:10.707 回答