当运行 php artisan migration 时,出现以下错误



如何解决这个问题。

代码:

public function up() {
    Schema::table('blogs', function (Blueprint $table) {
        $table->string('wordpress_id')->nullable();
        $table->string('google_blog_id')->nullable()->change();
    });
}

最佳答案

Laravel 5.1官方documentation指出:



如果您要更改另一列,并且该表在任何无法使用的地方都包含enum,则都没有关系。这是一个原则DBAL问题。

作为解决方法,您可以删除该列并添加一个新列(列数据将丢失):

public function up()
{
    Schema::table('users', function(Blueprint $table)
    {
        $table->dropColumn('name');
    });

    Schema::table('users', function(Blueprint $table)
    {
        $table->text('username');
    });
}

或使用数据库语句:
public function up()
{
    DB::statement('ALTER TABLE projects CHANGE slug url VARCHAR(200)');
}

public function down()
{
    DB::statement('ALTER TABLE projects CHANGE url slug VARCHAR(200)');
}

资料来源:https://github.com/laravel/framework/issues/1186

关于php - Laravel 5.1请求的未知数据库类型枚举,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33140860/

10-09 08:23
查看更多