Make:migrationを作成しました。移行を実行しようとすると、次のエラーが発生します。
そのようなファイルまたはディレクトリはありません(SQL:select * from information_schema.tables where table_schema = Homestead and table_name = migrations)。
私のenvファイルでは私のdb名はHomesteadであり、私のdbにはmigrationsという名前のテーブルがあります。なぜこのエラーが発生するのかよくわかりません。
1)コマンドを実行します:
コンポーザーダンプ-自動ロード
2)ロールバックコマンド:
php職人migrate:rollback
次に、移行を作成します。
php職人make:migration create_users_table
これが私のために働いたものです。 Homestead vagrantボックスを他のVagrantボックスやDockerイメージとともにさまざまなプロジェクトで使用しているため、HomesteadボックスのIPは127.0.0.1ではなく192.168.10.10でした。 int .envファイルのIPアドレスを次のように更新するまで、SQLSTATE[HY000] [2002]
のバリエーションを取得していました。
DB_CONNECTION=mysql
DB_Host=192.168.10.10
DB_PORT=3306
DB_DATABASE=Homestead
DB_USERNAME=Homestead
DB_PASSWORD=secret
そして私のconfig/database.php
と
'mysql' => [
'driver' => 'mysql',
'Host' => env('DB_Host', '192.168.10.10'),
'port' => env('DB_PORT', '3306'),
...
変更後、php artisan cache:clear
とphp artisan config:clear
も実行しました。その後実行
php artisan migrate
戻ってきた
Migration table created successfully.
それが誰かを助けることを願っています。 HomesteadマシンのIPはHomestead/Homestead.yaml
ファイルで確認できます。
ドキュメント でそれは言う:
Homestead仮想マシンを使用している場合は、この[php artisanmigrate]コマンドを 仮想マシン内 から実行する必要があります。
その後 、
Homesteadディレクトリから
vagrant ssh
ターミナルコマンドを発行することにより、仮想マシンにSSHで接続できます。
したがって、vagrant ssh
を使用するか、 ドキュメントの関数 を設定する場合は、Homestead ssh
を使用します。
Vagrant/homstead仮想マシンにログインしたら、コードの場所に移動します。私の場合、cd Code/my-project-name
を実行する必要があります。これは、Homestead.yamlファイルでHomesteadをどのように設定しているかによって異なります。
プロジェクトフォルダに移動したので、php artisan migrate
を実行します。
それでも機能しない場合は、.env
ファイルで DB_PORTは3306
。 であることを確認してください。