官方的Laravel 5.1 documentation声明:
注意:当前不支持重命名带有枚举列的表中的列.
如果您试图更改另一列,这并不重要,如果表包含enum
anywhere,它将不起作用.这是DBAL教义的问题.
作为一种解决方法,您可以删除该列并添加一个新列(column data will be lost):
public function up()
{
Schema::table('users', function(Blueprint $table)
{
$table->dropColumn('name');
});
Schema::table('users', function(Blueprint $table)
{
$table->text('username');
});
}
或使用DB语句:
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