当前位置: 首页 > 知识库问答 >
问题:

在Laravel中回滚一个特定的迁移

海叶秋
2023-03-14

要仅回滚,请执行以下操作:

回滚:2015\u 05\u 15\u 195423\u alter\u table\u web\u目录

php-artisan-migrate:rollback,我的3个迁移正在回滚。

Rolled back: 2015_05_15_195423_alter_table_web_directories
Rolled back: 2015_05_13_135240_create_web_directories_table
Rolled back: 2015_05_13_134411_create_contacts_table

我的web_directories和我的联系人表都是无意的。我从来不希望这种情况发生,如果我只能回滚那个特定的,这场灾难就永远不会发生。

共有3个答案

沈淇
2023-03-14

每次回滚都会得到最后一批迁移。使用命令

php artisan migrate:rollback --step=1
益阳平
2023-03-14

如果查看迁移表,则会看到每个迁移都有一个批号。因此,当您回滚时,它回滚上次批处理中的每个迁移。

如果您只想回滚最后一次迁移,那么只需将批次号增加1。然后,下次运行rollback命令时,它将只回滚一次迁移,因为它是在自己的“批处理”中。

或者,从Laravel 5.3开始,您可以只运行:

php artisan migrate:rollback --step=1

这将回滚上一次迁移,无论其批次号是什么。

方宏富
2023-03-14

后退一步。天生的。

php artisan migrate:rollback --step=1

这是手册页:文档。

没有办法没有一些麻烦。有关详细信息,请查看马丁·比恩的答案。

 类似资料:
  • 我使用Laravel 5.2,我通过运行创建数据库表 和 然后我运行php artisan migrate,在数据库中创建表。但是在我对迁移文件“create\u posts\u table.php”做了一些更改并运行 我得到一个错误: [Symfony\Component\Debug\Exception\FatalErrorException] 找不到类“CreatePostsTable” PH

  • 问题内容: 如何回滚失败的Rails迁移?我希望这会撤消失败的迁移,但是不,它会回滚以前的迁移(失败的迁移减去一个)。而且也不起作用。我已经遇到过几次了,这非常令人沮丧。这是我做的一个简单测试,可以重复该问题: 结果: 好的,让我们回滚一下: 嗯?那是我在SimpleTest之前的最后一次迁移,而不是失败的迁移。(哦,如果迁移输出中包含版本号,那就太好了。) 因此,让我们尝试为失败的迁移Simpl

  • (至少我可以只用名字,跳过时间戳……) 有更简单的方法吗?

  • 因此,我通过透视表在用户和照片之间建立了许多对许多的关系。我在我的用户模型中使用。然而,这里的问题是,我的照片表中有十几列我不需要(尤其是在json响应期间)。所以一个例子是: 是否可以修改此方法,使model只返回接受的列(例如由数组指定的列)? 注意:我只想在执行时选择特定的列。在执行之类的操作时,是的,我希望所有列都像往常一样。 编辑:我尝试在Laravel Eloquent中使用“with

  • 我使用迁移创建一个表。但是当我想使用不同的迁移创建第二个时,我做不到。在终端给这个消息: 未找到基表或视图:1146表'hrm.timelogs'不存在 laravel日志如下: 照亮\数据库\迁移\迁移器- 照亮\数据库\迁移\迁移器- 照明\控制台\命令- 对象(Symfony\Component\Console\Output\ConsoleOutput)) 照明\控制台\命令- Symfon

  • 问题内容: MyBatis迁移将每个SQL文件分为两部分: 一种用于向前迁移一个版本 一种用于迁移回一个版本 如何使用Flyway回滚版本? 问题答案: 尽管Flyway支持回滚(仅作为商业功能),但不鼓励使用它: https://flywaydb.org/documentation/command/undo 尽管撤消迁移的想法很好,但不幸的是,有时它在实践中会崩溃。一旦您进行了破坏性的更改(删除