我在尝试运行迁移时创建了一个make:migration我收到以下错误
没有这样的文件或目录(SQL:select * from information_schema.tables where table_schema = homestead和 table_name = migrations)。
在我的env文件中,我的db名称是homestead,在我的db中,我有一个名为migrations的表。我不确定为什么会收到此错误。
答案 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:clear
和php artisan config:clear
。运行之后
php artisan migrate
返回
Migration table created successfully.
希望它有所帮助。
您可以在Homestead/Homestead.yaml
文件中查看您的Homestead机器的IP。
答案 2 :(得分:1)
如果您使用的是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
.