Php artisan migrate no such file or directory

霸气de小男生 提交于 2019-12-11 06:03:27

问题


I created a make:migration when I try to run the migration I get the following error

No such file or directory (SQL: select * from information_schema.tables where table_schema = homestead and table_name = migrations).

In my env file my db name is homestead and in my db I have a table named migrations. Not really sure why I am getting this error.


回答1:


1) Run command:

composer dump-autoload

2) rollback command:

php artisan migrate:rollback

Then create your migration:

php artisan make:migration create_users_table




回答2:


Here is what worked for me. I am using Homestead vagrant box, along with a bunch of other Vagrant boxes and Docker images for various projects, so the IP of my Homestead box was not 127.0.0.1, it was 192.168.10.10. I was getting variations of SQLSTATE[HY000] [2002] until I updated the IP address in int .env file to

DB_CONNECTION=mysql
DB_HOST=192.168.10.10
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

and my config/database.php with

'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', '192.168.10.10'),
        'port' => env('DB_PORT', '3306'),
...

I also ran php artisan cache:clear and php artisan config:clear after the changes. After that running

php artisan migrate

returned

Migration table created successfully.

Hope it helps someone. You can check the IP of your Homestead machine in Homestead/Homestead.yaml file.




回答3:


In the documentation it says:

If you are using the Homestead virtual machine, you should run this [php artisan migrate] command from within your virtual machine.

Then,

You can SSH into your virtual machine by issuing the vagrant ssh terminal command from your Homestead directory.

So use vagrant ssh or if you set up the function in the documentation, use homestead ssh

Once you are logged into vagrant/homstead virtual machine, navigate to your code location. In my case, I have to do cd Code/my-project-name. This depends on how you have homestead setup in your Homestead.yaml file.

Now that you are in your project folder, run php artisan migrate

If that still doesn't work, make sure in your .env file the DB_PORT is 3306.



来源:https://stackoverflow.com/questions/43686135/php-artisan-migrate-no-such-file-or-directory

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!