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でローカルデータベースのコピーを作成する方法を教えてください。
皆さんありがとう
少し掘り下げましたが、次のコマンドを実行することで使用できました。
heroku run /app/php/bin/php /app/www/artisan migrate
したがって、私が学んだ教訓は次のとおりです。すべてのリモート職人コマンドの前にheroku run /app/php/bin/php /app/www/artisan
を付けます。
新しい 公式のphpビルドパック 実行するだけです
$ heroku run bash
$ php artisan migrate
あるいは単に
$ heroku run php artisan migrate
また、gitを介してデプロイするたびに移行を実行する場合は、"php artisan migrate"
の"post-update-cmd"
セクションのcomposer.jsonに"scripts"
を追加します。
これが 完全な例 であり、Herokuで発生する「移行するものがない問題」を解決します。
heroku run php artisan migrate --path=database/migrations --app application-name
application-nameはHerokuAPP名です
この行から、すべてのlaravel職人のコマンドにアクセスできます:
heroku run php artisan
Herokuサーバーに複数のアプリケーションがある場合は、次のことができます。
heroku run bash -a application-name
これにより、その特定のアプリケーションのbashコンテナーが開き、このコンテナー内で任意のコマンドを実行できます。つまり、
php artisan migrate:refresh --seed
明らかに、最初に、herokucliにすでにログインしていることを確認する必要があります。
ビルドプロセスの一部として移行を実行することをお勧めします。あるべき姿。 https://github.com/lifekent/heroku-buildpack-laravel をご覧ください。職人のコマンドを実行するための使いやすいサポートを備えた公式ビルドパック