如何在Heroku中使用Laravel4的php artisan migrate命令?

时间:2013-11-27 13:07:50

标签: heroku laravel-4 heroku-toolbelt heroku-postgres

我正在起诉Heroku dev计划使用 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 artisan migrate

php artisan db:seed

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

全部谢谢

6 个答案:

答案 0 :(得分:43)

使用您刚刚运行的新official php build pack

$ heroku run bash
$ php artisan migrate

或只是

$ heroku run php artisan migrate

如果您希望每次通过git进行部署时都要进行迁移,请在"php artisan migrate"的{​​{1}}部分中将"post-update-cmd"添加到composer.json。

答案 1 :(得分:11)

需要一点挖掘,但我可以通过运行此命令来使用它:

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

所以我学到的经验是:用heroku run /app/php/bin/php /app/www/artisan

作为所有远程工匠命令的前缀

答案 2 :(得分:4)

此行可让您访问所有laravel工匠命令:

heroku run php artisan

答案 3 :(得分:2)

这是一个complete example,它将解决"没有任何迁移问题"为Heroku而来,

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

application-name是您的Heroku APP名称

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

const

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

heroku run bash -a application-name

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