如何在Heroku中使用Laravel4的php工匠迁移命令?

eoigrqb6  于 2022-11-13  发布在  PHP
关注(0)|答案(7)|浏览(142)

我正在使用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 Artisan迁移
php Artisan数据库:种子

但是我似乎不能在Heroku中运行这个命令来创建表和转储数据。请告诉我如何在Heroku中创建本地数据库的副本。
谢谢大家

dgsult0t

dgsult0t1#

使用您刚刚运行的新official php buildpack

$ heroku run bash
$ php artisan migrate

或仅

$ heroku run php artisan migrate

如果你想在每次通过git部署时都进行迁移,那么就在"scripts""post-update-cmd"部分将"php artisan migrate"添加到composer.json中。

polkgigr

polkgigr2#

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

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

所以我学到的教训是:将heroku run /app/php/bin/php /app/www/artisan作为所有远程Artisan命令的前缀

pu3pd22g

pu3pd22g3#

这是一个complete example,它将解决Heroku的“无迁移问题”,

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

application-name是您的Heroku应用程序名称

3z6pesqy

3z6pesqy4#

这一行将给予您访问所有laravel artisan命令:

heroku run php artisan
btxsgosb

btxsgosb5#

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

heroku run bash -a application-name

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

php artisan migrate:refresh --seed

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

qlzsbp2j

qlzsbp2j6#

我建议将迁移作为构建过程的一部分来运行。这是应该的。看看https://github.com/lifekent/heroku-buildpack-laravel。官方构建包,它支持运行Artisan命令,使用起来很方便

brtdzjyr

brtdzjyr7#

heroku运行php工匠迁移-a {您的应用程序名称}

相关问题