使用Laravel,您可以在迁移过程中更改列名吗?

Ste*_*ham 3 php laravel

几乎就是标题所说的内容; 我需要更改列名作为迁移的一部分,可以这样做,如果是,如何?

Jas*_*wis 9

Laravel 3

是的,它可以完成,但仅限于原始查询.某些DBMS不支持更改列名,因此决定不实现此类功能,因为对于某些DBMS,它会失败.

因此,请不要忘记您可以DB::raw()在迁移中使用原始查询.您可以通过这种方式更改列名称.

Laravel 4

在Laravel 4.1中,您必须添加doctrine/dbal为依赖项composer.json.

"doctrine/dbal": "2.4.*"
Run Code Online (Sandbox Code Playgroud)

一旦运行,composer update您现在可以使用该renameColumn方法.

Schema::table('users', function($table)
{
    $table->renameColumn('location', 'address');
});
Run Code Online (Sandbox Code Playgroud)

这会将location列重命名为address.