php - 我的一个迁移没有在 Laravel 4 中使用 php artisan 命令运行

标签 php laravel laravel-4

我在 Laravel 4 中运行了多个迁移。我使用 php artisan migrate:rollbackphp artisan migrate 命令来填充表。有趣的是,我的一个迁移已经停止工作(无法回滚)。所有其他人都工作正常。据我所知,我没有改变任何东西。

有问题的迁移被命名为:2013_06_19_050252_create_artists_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');
    }

}

我不知道为什么这不起作用。任何想法可能会发生什么?

最佳答案

我遇到了同样的问题,并做了类似的事情来解决它。这对我有用。

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

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

关于php - 我的一个迁移没有在 Laravel 4 中使用 php artisan 命令运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22291704/

相关文章:

css - Laravel 5 和 Webpack SASS - 如何添加另一个 CSS 文件

php - 响应内容必须是实现 __toString() 的字符串或对象,给定\"boolean\"。”

php - 如何在 Laravel 中使用 Codeception 设置用于测试的 DB 对象

php - 如何从连接表结果中分离值?

php - Vtiger自定义模块: "Sorry! Attempt to access restricted file."

php - 从 WooCommerce 订单应用的优惠券中获取优惠券说明

php - 'mysqldump' 未被识别为内部或外部命令

php/mysql如何删除不同表中的同名字段

php - 如何隐藏配置文件以防止直接访问?

php - Laravel API Auth 类的使用