我试图在Laravel 5.4中进行回滚。我从迁移文件夹中手动删除了一个文件。现在,当我尝试回滚时,我收到一个错误:
[root@xxx]# php artisan migrate:rollback
[ErrorException]
Undefined index: 2017_08_22_204640_create_tasks_table
该文件是一个测试(带有控制器和视图),但我在Laravel上是新手,并且不知道手动删除该文件会有问题。
现在如何修复?
编辑:主要目标是从使用迁移创建的表中重命名列。
我制作了这个迁移文件:
[root@xxx]# php artisan make:migration rename_nombre_generadora_column --table="admin_generadora" --create
Created Migration: 2017_08_24_160600_rename_nombre_generadora_column
但后来我发现表的名称错了,应该是admin_generadoras
。我想创建一个新的迁移文件,但是我收到了这个错误:
[root@xxx]# php artisan make:migration rename_nombre_generadora_column --table="admin_generadoras" --create
[InvalidArgumentException]
A RenameNombreGeneradoraColumn migration already exists.
那么如何撤消迁移呢?
答案 0 :(得分:3)
在这种情况下,我总是倾向于删除整个数据库并再次运行“正确”的迁移。你有种子吗?你有工厂吗?
我复制了一些我写过的文字before:
注意迁移以及如何正确执行(恕我直言):
down()
方法创作者和创作者的一些材料。 Laravel的朋友关于迁移的信息可以在这个播客http://www.laravelpodcast.com/episodes/68236-episode-53-bigger-better中听到大约30分钟。
您现在需要做的是了解深入了解迁移的工作原理!要做到这一点,你需要看看迁移表并使用它;玩工匠和迁移相关的命令。请记住,您可以使用SQL更新/修改数据库模式(这意味着使用某种类型的数据库客户端,如PhpMyAdmin),还可以修改/更新相应的迁移。
答案 1 :(得分:2)
--table
标志只是帮助您更快地填写迁移文件。只需转到RenameNombreGeneradoraColumn
文件,然后将admin_generadora
更改为admin_generadoras