複数の環境で同期する時のトラブル

PhpStormでLaravelを開発できる環境を昼間作業をする場所のパソコンに構築しています。勉強も兼ねているので自宅などでも作業を進めています。こんな時にはGithub等のクラウドサービスを利用して環境を常に同期しておくと凄く便利です。それだけではなく実際のレンタルサーバ等でサービスを開始する時も簡単に同期できる様になっていると凄く便利です。

こんな時はPhpStormを用いると凄く便利です。元々Gitを利用してバージョンを管理する様に考えられていますし、Github等のクラウドサービスとの連携も組み込まれています。

Laravelはプログラムだけでなくデータベースのテーブル構造も同期できる様になっています。データベース後続だけでなく初期データを自動的に挿入する機能もあります。この機能があるとデータベースを用意するだけでテーブル構造や初期データも簡単に同期できます。

ここまでは凄く便利なのですが、同期をする時、意味の分からないエラーが発生します。このトラブルはデータを同期する、migrateと言うコマンドやseedingで発生しますプログラムを見直してもおかしい所がありません。原因はクラス等の自動ロードの問題の様です。コンポーザーを利用して、

php composer.phar dump-autoload

を実行する事で解消できる事が判りました。色々な環境で開発をする場合、ロードされている(どこに?)クラスが異なるので正しく対応できない様です。これに関しては私もまだ勉強中です。判ったらこちらの記事に追加して行きたいと思います。いや、この問題解決方法にたどり着くのに半日以上かかりました。