17

我正在起诉 Heroku 开发计划使用PostgreSQL创建数据库。数据库是在 Heroku 中创建的。运行 heroku pg:info 命令后

$ heroku pg:info
=== HEROKU_POSTGRESQL_XXX_URL
Plan:        Hobby-dev
Status:      available
Connections: 1
PG Version:  9.3.1
Created:     2013-11-27 04:00 UTC
Data Size:   6.4 MB
Tables:      0
Rows:        0/10000 (In compliance)
Fork/Follow: Unsupported
Rollback:    Unsupported

结果显示零表,这是正确的。

在我的本地机器中,表是使用Laravel4框架支持的以下命令创建的。

php工匠迁移

php工匠数据库:种子

但似乎我无法在 heroku 中运行此命令来创建表和转储数据。请告诉我如何在 Heroku 中创建本地数据库的副本。

谢谢大家

4

6 回答 6

61

使用您刚刚运行的新的官方 php buildpack

$ heroku run bash
$ php artisan migrate

要不就

$ heroku run php artisan migrate

如果您希望每次通过 git 部署时都发生迁移,请添加"php artisan migrate"到 composer.json"post-update-cmd""scripts".

于 2014-05-15T14:08:35.640 回答
16

花了一点时间,但我可以通过运行以下命令来使用它:

heroku run /app/php/bin/php /app/www/artisan migrate

所以我学到的教训是:在所有远程工匠命令前加上heroku run /app/php/bin/php /app/www/artisan

于 2014-01-30T15:47:29.507 回答
6

此行将使您可以访问所有 laravel artisan 命令:

heroku run php artisan
于 2014-12-31T16:50:23.000 回答
6

这是一个完整的示例,将解决 Heroku 的“无迁移问题”,

heroku run php artisan migrate --path=database/migrations --app application-name

application-name 是您的 Heroku APP 名称

于 2016-05-24T04:42:41.463 回答
1

如果您在 heroku 服务器上有多个应用程序,您可以执行以下操作:

heroku run bash -a application-name

这将为该特定应用程序打开一个 bash 容器,您可以在此容器内运行任何命令。IE

php artisan migrate:refresh --seed

显然,您首先需要确保您已经登录到 heroku cli。

于 2019-12-28T08:40:23.113 回答
1

我建议在构建过程中运行迁移。应该如此。看看https://github.com/lifekent/heroku-buildpack-laravel。官方构建包,易于使用,支持运行工匠命令

于 2016-01-28T09:40:29.003 回答