【发布时间】:2015-06-03 00:45:18
【问题描述】:
长话短说,我在本地机器上完全搞砸了 Laravel 迁移。它们 100% 无法使用。
我是第一次使用 Laravel 5,所以可以这么说,我只是在弄乱一些东西并试水。在手动修改数据库、重写我的迁移、意外删除一两个表(然后是“迁移”表本身 [doh!])之间,我处于这种混乱状态,我只想启动所有从头开始迁移东西。但是,我似乎无法弄清楚如何做到这一点。
我目前处于无法做任何事情的状态。
例如,当我执行php artisan migrate:refresh 时,如果旧表的任何残余仍在数据库中,我会收到Base table or view already exists 错误消息。但是,如果我删除所有表,我会收到此错误:
Next exception 'Illuminate\Database\QueryException' with message
'SQLSTATE[42S02]: Base table or view not found: 1146 Table
'bsd_status.projects' doesn't exist (SQL: select * from `projects`)' in
path/to/src/Illuminate/Database/Connection.php:620
我已经运行了以下命令:
$ php artisan clear-compiled
$ php artisan cache:clear
$ php composer dump-autoload
$ php artisan migrate:install
我什至不确定我是否按正确的顺序做这些事情。无论如何,除了完全重新安装 Laravel 之外,如何让他/她的所有迁移回到“开箱即用”的状态?任何帮助将不胜感激。谢谢!
【问题讨论】:
-
您是否尝试过删除整个数据库,创建一个新数据库,然后简单地运行迁移?
-
删除迁移表,备份迁移文件夹并将其留空。现在使用从数据库生成迁移的包(搜索它),你就完成了。
-
它不是“php composer dump-autoload”,您只需要在 composer 自动加载的情况下使用“composer dump-autoload”
标签: php mysql laravel database-migration laravel-artisan