web-dev-qa-db-ja.com

HerokuでLaravel4のphp職人移行コマンドを使用するにはどうすればよいですか?

PostgreSQLを使用してデータベースを作成するためのHeroku開発計画を提訴しています。データベースは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 artisan db:seed

しかし、herokuでこのコマンドを実行してテーブルを作成し、データをダンプすることはできないようです。 Herokuでローカルデータベースのコピーを作成する方法を教えてください。

皆さんありがとう

13
niran

少し掘り下げましたが、次のコマンドを実行することで使用できました。

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

したがって、私が学んだ教訓は次のとおりです。すべてのリモート職人コマンドの前にheroku run /app/php/bin/php /app/www/artisanを付けます。

14
Aaron Gustafson

新しい 公式のphpビルドパック 実行するだけです

$ heroku run bash
$ php artisan migrate

あるいは単に

$ heroku run php artisan migrate

また、gitを介してデプロイするたびに移行を実行する場合は、"php artisan migrate""post-update-cmd"セクションのcomposer.jsonに"scripts"を追加します。

49
dwenaus

これが 完全な例 であり、Herokuで発生する「移行するものがない問題」を解決します。

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

application-nameはHerokuAPP名です

4
Alen MJ

この行から、すべてのlaravel職人のコマンドにアクセスできます:

heroku run php artisan
4
Roshan Pal

Herokuサーバーに複数のアプリケーションがある場合は、次のことができます。

heroku run bash -a application-name

これにより、その特定のアプリケーションのbashコンテナーが開き、このコンテナー内で任意のコマンドを実行できます。つまり、

php artisan migrate:refresh --seed

明らかに、最初に、herokucliにすでにログインしていることを確認する必要があります。

0
Muhammad Usman

ビルドプロセスの一部として移行を実行することをお勧めします。あるべき姿。 https://github.com/lifekent/heroku-buildpack-laravel をご覧ください。職人のコマンドを実行するための使いやすいサポートを備えた公式ビルドパック

0
lifekent