Laravel 5.5中迁移的问题

时间:2017-11-13 21:34:02

标签: laravel laravel-5 migration

我的Laravel设置正在发生一些奇怪的事情。我创建了一些迁移文件,并且在创建每个迁移文件之后运行php artisan migrate时,它们已成功运行并且表已在数据库中创建。现在,如果我想运行php artisan migrate:refresh --seed,它就无法回滚其中一个迁移,因为它表示迁移文件不存在。 这是错误: It says the migration was not found 这是我的迁移文件: The file exists!

<?php

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

class CreateAssessmentsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('assessments', function (Blueprint $table) {
            $table->increments('id');
            //TODO - Complete information for this table
            $table->timestamps();
        });
    }

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

甚至更奇怪的是,我不得不重新创建所有迁移,因为它随机地没有创建迁移中列出的某些表。

以前有人遇到过这个问题吗?任何帮助都非常感谢。

[UPDATE]

过了一会儿,我意识到这不是来自Laravel。出于某种原因,我的家园没有查看那些文件,尽管有。如果我通过SSH(流浪盒内的那个)访问该文件夹,则文件不存在。如果我去真正的文件夹,它就在那里。由于某种原因,该框未正确同步文件。 甚至更奇怪的是,我可以访问和编辑VMB内的文件,但它不会列出它,并且在运行迁移时不会考虑到这一点。在这里,我创建了一个screen-recording showing the problem

[更新2]

刚录制到更多视频。这真的很奇怪(除非我遗漏了什么)。

Video 1.

Video 2.

1 个答案:

答案 0 :(得分:1)

MacOS High Sierra和Vagrant似乎存在问题。为了解决这个问题,我必须应用此workaround

希望这会为我遇到同样问题的人节省一些时间。