当我跑
时php artisan migrate:reset
我得到了
[ErrorException]
include(app/database/migrations/2014_08_06_120900_alter_xxx_table.php): failed to
open stream: No such file or directory
但是我没有那个php文件,我只有另一个名为
的文件2014_08_06_121048_alter_xxx_table.php
mysql中的migrations
表只有
2014_08_06_121048_alter_xxx_table.php
但不是
2014_08_06_120900_alter_xxx_table.php
现在我无法重置我的数据库。我该怎么办?
答案 0 :(得分:98)
首先:
composer dump-autoload
然后进行de rollback。
这项工作对我来说......
composer dump-autoload
php artisan migrate:rollback
答案 1 :(得分:8)
php artisan dump-autoload
解决我的同样问题..而不是手动改变
答案 2 :(得分:6)
删除表migrations
中2014_08_06_121048_alter_xxx_table的行并没有真正解决问题。当我再次运行php artisan migrate:reset
时,问题又出现了。
最后我找到了自己的本质原因。由于某些原因可能有一些错误的命令,错误的文件名已被写入
./vendor/composer/autoload_classmap.php
所以我更正了这个文件中的文件名,现在一切正常。
答案 3 :(得分:3)
听起来你做了一次迁移,然后在进行回滚之前删除了一个迁移文件。所以现在Laravel不确定如何回滚你的数据库。
最简单的解决方案(因为您无论如何都要重置)是手动清除数据库中的所有表,包括迁移表。
然后只需运行php artisan migrate
,它就会安装该表并运行您的迁移。
将来,除非先进行回滚,否则不应手动更改迁移文件。
答案 4 :(得分:1)
此命令有效
php artisan optimize
php artisan migrate:rollback
答案 5 :(得分:1)
撤消迁移对数据库执行的操作。然后查看迁移表并删除与您删除的文件相关的行。
之后你可能需要运行
composer dump-autoload
答案 6 :(得分:0)
在autoload_classmap.php
中查找文件/vendor/composer
。
打开文件并编辑以下内容:
在return array{ }
中删除现有的table.php
文件。
示例:
'CreatePasswordResetsTable'
=> $baseDir . '/database/migrations/2014_10_12_100000_create_password_resets_table.php'
,
'CreateUsersTable'
=> $baseDir . '/database/migrations/2014_10_12_000000_create_users_table.php'
,
我从该数组中删除了上述两行并再次执行了php artisan make:User -m
,并创建了模型和迁移。
答案 7 :(得分:0)
创建会话表时,我遇到了同样的问题。基本上它找不到路径app / database / migrations / 2014_08_06_120900_alter_xxx_table.php。
一种可能性是您的数据库/迁移路径不是app / database / migrations。首先,您应该找到正确的数据库/迁移路径。我在它上面使用了一个十月的cms框架,发现我的路径是“模块/系统/数据库/迁移”。
您需要在SessionTableCommand.php
中打开vendor/laravel/framework/src/Illuminate/Session/Console path
。在#77行,你会发现$ path变量。将其更改为数据库/迁移的路径。
在我的情况下,第77行看起来像这样:
$path = 'modules/system/database/migrations';
这些错误的发生主要是因为文件或目录的路径不正确。
答案 8 :(得分:0)
使用此命令。它对我有用。
php artisan migrate:rollback
答案 9 :(得分:0)
php artisan dump-autoload
在windows10中表现很好。
答案 10 :(得分:0)
您可能应手动创建文件夹迁移。然后作曲家更新。并运行迁移