将迁移标记为在laravel中运行

将迁移标记为在laravel中运行,laravel,laravel-artisan,artisan-migrate,Laravel,Laravel Artisan,Artisan Migrate,我的迁移失败了,所以我只是在MySQL Workbench中手动运行了一个查询 是否有artisan命令将迁移标记为完成?因此,当我运行将来的迁移时,它会跳过我知道不需要运行的迁移 我可以使用此命令列出它们及其状态,并查看哪些已运行,哪些未运行: php artisan migrate:status 如果没有命令,我可以手动将条目插入数据库迁移表中。但目前还没有移民:P 我想我也可以。。。删除迁移。目前,Laravel您始终可以创建自己的artisan命令。我刚刚完成了以下操作: 注释掉了Y

我的迁移失败了,所以我只是在MySQL Workbench中手动运行了一个查询

是否有artisan命令将迁移标记为完成?因此,当我运行将来的迁移时,它会跳过我知道不需要运行的迁移

我可以使用此命令列出它们及其状态,并查看哪些已运行,哪些未运行:

php artisan migrate:status 
如果没有命令,我可以手动将条目插入数据库迁移表中。但目前还没有移民:P


我想我也可以。。。删除迁移。

目前,Laravel您始终可以创建自己的artisan命令。

我刚刚完成了以下操作:

注释掉了YourMigrationClass::up方法的内容。像这样:

class AddSessionIdToActivitiesTable extends Migration
{

    public function up()
    {
        /* commenting this out:
        Schema::table('activities', function (Blueprint $table) {
            $table->integer('session_id')->nullable();
        });
        */
    }
运行:php artisan迁移

检查是否标记为已运行?:php artisan迁移:状态

可选取消对方法内容的注释,以便将其用作VCS中的文档


您写道,您直接在数据库中运行迁移的sql,因此我假设您运行另外两条语句也可以

对于laravel 5.7和一些较低版本,您需要在迁移表的数据库中填充迁移信息

您需要的信息是迁移文件名(不带.php扩展名)和批处理号,以决定在回滚迁移时立即运行哪些迁移

首先,您必须看到最后一个批号是:

从迁移中选择MAXbatch; 假设上面的查询返回42,那么我们必须插入批号为42+1=43的数据

假设要标记为运行的迁移是database/migrations/2019_01_29_091850_update_jobs_table_for_laravel_5_3.php

要填充运行所需的信息,请执行以下操作:

-请注意,不应包含.php扩展名 在迁移值2019\u 01\u 29\u 091850\u更新\u作业\u表\u中插入第5\u 3,43页; 然后运行php artisan migrate:status会将迁移报告为run

也许你只需要一个查询就可以完成任务。。。我将保留该任务,等待sql专家的评论