我的一个迁移没有使用Laravel4中的php artisan命令运行

我的一个迁移没有使用Laravel4中的php artisan命令运行,php,laravel,laravel-4,Php,Laravel,Laravel 4,我在Laravel 4中运行了几次迁移。我使用php artisan migrate:rollback和php artisan migrate命令来填充表。有趣的是,我的一次迁移已经停止工作(无法回滚)。其他人都很好。我的知识没有任何变化 正在讨论的迁移名为:2013\u 06\u 19\u 05025\u create\u artists\u table.php 看起来是这样的: <?php use Illuminate\Database\Migrations\Migratio

我在Laravel 4中运行了几次迁移。我使用
php artisan migrate:rollback
php artisan migrate
命令来填充表。有趣的是,我的一次迁移已经停止工作(无法回滚)。其他人都很好。我的知识没有任何变化

正在讨论的迁移名为:
2013\u 06\u 19\u 05025\u create\u artists\u table.php

看起来是这样的:

    <?php

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

class CreateArtistsTable extends Migration {

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('artists', function(Blueprint $table) {
            $table->increments('id');
            $table->string('url_tag')->unique();
            $table->string('username');

            $table->timestamps();
        });
    }

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

}

当迁移出现问题时,有时

php artisan migrate:refresh

但是,如果您的迁移真的中断了,并且有时会发生这种情况,那么您可能必须删除所有数据库表,然后再次运行
php artisan migrate

我也遇到了同样的问题,并做了类似的操作来修复它。这就是我的工作

  • 删除迁移应该创建的表和列(如果它们仍然存在)
  • 通过将迁移文件名称中的最后一个数字增加1,重命名app/database/migrations文件中的迁移。示例:将“2014_06_01_190448_create_users.php”重命名为“2014_06_01_190449_create_users.php”
  • 运行
    composer dump autoload
    -这将从系统内存中取出旧的迁移
  • 在命令行中重新运行php artisan migrate

  • 文件系统基本上认为这是一个新的迁移,因此它给了它一个“新的开始”

    你把这个叫哪里?参考文件你的确切意思是什么不起作用?您是否收到错误?不,它不会显示在回滚的迁移列表中。或者不会显示在回滚的迁移列表中。它就是不会出现。所有其他迁移都工作正常。执行php composer.phar dump autoload无助于解决问题。Autolodi上未列出任何错误。我的所有表都已正确迁移,但数据库中的迁移表却为空。。删除了包括迁移表在内的所有表,并再次运行了migrate命令,但结果仍然相同。。不知道发生了什么事。。有什么线索吗?我也有类似的问题,认为迁移没有正确执行。原来我刚刚在MySQL中隐藏了这个表。如果你这么做了,你可以通过点击你桌子列表上的黄色灯泡把它拿回来。你结束了我这么多的挫折。这么多乱七八糟的黑客和愚蠢的变通方法。非常感谢!!:)