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

nir*_*ran 12 heroku heroku-toolbelt laravel-4 heroku-postgres

我正在起诉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
Run Code Online (Sandbox Code Playgroud)

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

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

php工匠迁移

php artisan db:种子

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

谢谢大家

dwe*_*aus 45

使用新的官方php构建包,你只需运行

$ heroku run bash
$ php artisan migrate
Run Code Online (Sandbox Code Playgroud)

要不就

$ heroku run php artisan migrate
Run Code Online (Sandbox Code Playgroud)

如果您希望每次通过git进行部署时都进行迁移,那么"php artisan migrate""post-update-cmd"部分中添加到composer.json "scripts".


Aar*_*son 13

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

heroku run /app/php/bin/php /app/www/artisan migrate
Run Code Online (Sandbox Code Playgroud)

所以我学到的经验是:为所有远程工匠命令添加前缀 heroku run /app/php/bin/php /app/www/artisan

  • 也许他们最近改变了,但我不得不这样做:heroku运行php/app/artisan migrate (2认同)

小智 6

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

heroku run php artisan
Run Code Online (Sandbox Code Playgroud)


小智 6

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

heroku run php artisan migrate --path=database/migrations --app application-name
Run Code Online (Sandbox Code Playgroud)

application-name 是你的 Heroku APP 名称