由于我删除了 phpMyadmin 中的表,Php artisan 无法正常工作,如何撤消此操作?
Posted
技术标签:
【中文标题】由于我删除了 phpMyadmin 中的表,Php artisan 无法正常工作,如何撤消此操作?【英文标题】:Php artisan not working because i deleted the table in phpMyadmin , how to undo this? 【发布时间】:2017-05-23 20:09:02 【问题描述】:我直接在我的 phpMyAdmin 中删除了一个表,当我运行命令 php artsan migrate:rollback
时,我收到以下错误:
无法打开:流:没有这样的文件或目录。
我已经从迁移文件夹中删除了迁移文件,为什么会出现这个错误??
我刚刚浏览了 laravel 迁移文档 HERE,我看到了以下命令:
php artisan migrate:rollback --step=5
所以我在命令行中尝试了以下内容:
php artisan migrate:rollback --step=1
回滚我上次的迁移,但它似乎不起作用。这就是我直接在 phpMyAdmin 中删除表的原因。
下面是我现在运行php artsan migrate:rollback
时遇到的错误:
【问题讨论】:
只用一个 ID 创建表就可以了。 ;) 所有回滚操作都是删除表并在需要时创建它。可能只想通过创建文件并插入默认操作来创建迁移(一个空的)。只需省略创建内容,因为您只需要删除它(php artisan make:migration由于您在回滚之前删除了该文件,我建议您从您的 migrations
表中手动删除该条目。
搜索全名并仅删除 1 个条目。
DELETE FROM `migrations` where `name` = '[2017_01_09_xxx]';
但是,如果您的迁移已经提交并推送到远程,并且其他人正在使用相同的代码库,我建议您在本地环境中恢复表,并使用该名称恢复迁移文件并通过添加删除表新的迁移。
此流程将确保当其他人使用您的更改或您部署和运行迁移时,您可以毫无问题地执行此操作。
【讨论】:
【参考方案2】:请尝试以下命令,就可以了。
清除缓存
php artisan cache:clear
作曲家自动加载
composer dump-autoload
现在重启你的 Laravel 服务器就可以了。
它现在可以工作了。但是,从不建议直接删除表和迁移文件。如果是这样的话,Laravel 根本不会使用迁移。下次请多多关照。
【讨论】:
以上是关于由于我删除了 phpMyadmin 中的表,Php artisan 无法正常工作,如何撤消此操作?的主要内容,如果未能解决你的问题,请参考以下文章
从 PHPMyAdmin 中删除数据时,DELETE 链接在 PHP 中不执行任何操作
SQL 语句超过 PHP 中的最长时间,但在 phpMyAdmin 中立即运行