Php工匠没有迁移这样的文件或目录

时间:2017-04-28 17:49:34

标签: laravel migrate

我在尝试运行迁移时创建了一个make:migration我收到以下错误

  

没有这样的文件或目录(SQL:select * from   information_schema.tables where table_schema = homestead和   table_name = migrations)。

在我的env文件中,我的db名称是homestead,在我的db中,我有一个名为migrations的表。我不确定为什么会收到此错误。

3 个答案:

答案 0 :(得分:7)

1)运行命令:

  

composer dump-autoload

2)回滚命令:

  

php artisan migrate:rollback

然后创建您的迁移:

  

php artisan make:migration create_users_table

答案 1 :(得分:6)

这对我有用。我正在使用Homestead vagrant box,以及一堆其他Vagrant盒子和Docker图像用于各种项目,所以我的Homestead盒子的IP不是127.0.0.1,它是192.168.10.10。我得到SQLSTATE[HY000] [2002]的变体,直到我将int .env文件中的IP地址更新为

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:clearphp artisan config:clear。运行之后

php artisan migrate

返回

Migration table created successfully.

希望它有所帮助。 您可以在Homestead/Homestead.yaml文件中查看您的Homestead机器的IP。

答案 2 :(得分:1)

the documentation中说:

  

如果您使用的是Homestead虚拟机,则应从within your virtual machine运行此[php artisan migrate]命令。

Then

  

您可以通过从Homestead目录发出vagrant ssh终端命令来SSH到您的虚拟机。

因此,请使用vagrant ssh或设置function in the documentation,使用homestead ssh

登录vagrant / homstead虚拟机后,导航到您的代码位置。就我而言,我必须做cd Code/my-project-name。这取决于您在Homestead.yaml文件中如何设置宅基地。

现在您在项目文件夹中,运行php artisan migrate

如果仍然无效,请在.env文件中确保DB_PORT is 3306.