【问题标题】:Laravel : Nothing to MigrateLaravel:没有什么可迁移的
【发布时间】:2019-06-03 00:09:53
【问题描述】:

所以我环顾四周,发现了一些关于如何解决此问题的建议,但我仍然无法使其正常工作。

所以我在迁移文件夹中创建了一个名为 social.php 的文件。

并在其中添加了此代码。但是当我执行命令时

php 工匠迁移

我没有什么可以迁移作为回报。

请注意,我执行此命令来创建 Auth(users tablepassword reset 迁移成功),然后在我完成它们后,我将它们备份并从迁移文件夹中删除它们。

我创建了 social.php,然后这一切都发生了。

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateSocialTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('social', function (Blueprint $table) {
            $table->increments('id');
            $table->string('userid');
            $table->string('sname');
            $table->string('sud');
            $table->string('surl');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('social');
    }
}

【问题讨论】:

  • 所以你在运行迁移后删除了默认迁移?尝试删除数据库中的迁移表,运行composer dump 并重试。如果失败,请删除迁移并在命令行上使用 artisan 创建它:php artisan make:migration create_social_table
  • 试过了,我也试过 composer dump-autoload 但还是没有
  • 更新了上面的评论。
  • 您是否运行此程序并最初失败?无论如何,迁移脚本仍将更新迁移表。如果您将 Schema::create 包装在 try/catch 中,并在 catch 失败时回滚,这应该允许您再次执行此操作
  • 我的错误是手动而不是使用命令。让它工作。感谢您的宝贵时间

标签: php laravel migrate


【解决方案1】:

要创建迁移,请使用 php artisan make:migration Artisan 命令:

php artisan make:migration create_tablename_table

新的迁移将放置在您的 database/migrations 目录中。

之后,要运行所有未完成的迁移,请执行 migrate Artisan 命令:php artisan migrate

【讨论】:

    【解决方案2】:
    1. 您是通过php artisan make:migration 创建的迁移文件还是手动创建的?

    2. 如果您通过命令执行此操作,只需从数据库中删除相关表并删除您的迁移文件,然后运行 ​​php artisan migrate

    在终端中使用此命令进行迁移:

    php artisan make:migration create_social_table
    

    如果您正在寻找带有迁移功能的模型

    php artisan make:migration create_social_table -m
    

    【讨论】:

    • 我是手动创建的,我试试用命令创建。
    【解决方案3】:

    请在迁移文件夹中创建新文件夹,如 test 并将您的 (social.php) 文件放入 test 文件夹并在终端或 cmd 中运行以下命令

    php artisan migrate --path=database/migrations/test/
    

    【讨论】:

    • 仍然没有要迁移的东西
    • 我的错误是手动而不是使用命令。让它工作。感谢您的宝贵时间
    • Saurabh php artisan make:migration 将帮助他进行迁移,只需为 Migration 提供名称
    【解决方案4】:

    在您的控制台中运行此命令:

    php artisan make:migration create_tablename_table
    

    【讨论】:

    • 您好朋友,这个问题已经回答了,但感谢您的宝贵时间
    【解决方案5】:

    命令:php artisan migrate 问题:没有什么可迁移的。 首次运行命令:php artisan migrate:reset 比运行命令:php artisan migrate 表更新添加了新字段。

    【讨论】:

      【解决方案6】:

      如果您之前运行过 php artisan migrate,现在您想更改迁移而不为此表创建新的 alter migration,并希望作为迁移创建再次运行,但它向您显示 什么都没有迁移

      要解决此问题,请按照以下步骤操作

      1. 打开数据库并删除要通过更改迁移更改的表。

      2. 编写查询以删除记录

        select * from migrations order by id desc

      3. 在此结果中检查您的迁移文件并删除此记录

      4. 运行php artisan migrate 命令

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-05-05
        • 1970-01-01
        • 2014-04-27
        • 2014-02-11
        • 2018-11-10
        • 2023-01-06
        • 1970-01-01
        相关资源
        最近更新 更多