gpt4 book ai didi

laravel - 重命名 Laravel 5 中的索引

转载 作者:行者123 更新时间:2023-12-01 11:21:19 25 4
gpt4 key购买 nike

我想重命名 Laravel 5 中的索引。

在之前的迁移中,为名为 a 的表创建了一个列。像这样:

$table->unsignedInteger('foo')->index('blah');

我想重命名索引,以便它使用默认的 Laravel 表示法。

即我想重命名 blah索引到 a_blah .

我知道如何重命名普通列,如下所示:
$table->renameColumn('from', 'to');

但是文档没有提到如何重命名索引。

我怎样才能做到这一点?

更新

似乎 Laravel 本身并不支持这一点。请为问题点赞:

https://github.com/laravel/internals/issues/443

最佳答案

Laravel 5.6 现在支持重命名索引:

$table->renameIndex('from', 'to')

https://laravel.com/docs/5.6/migrations#renaming-indexes

Laravel <= 5.5 的旧答案

正如@KuKec 所提到的,Laravel 似乎没有对重命名索引的 native 支持。但是您可以使用原始 SQL。例如在 MySQL 中,它会是这样的:
DB::statement('RENAME INDEX old_index TO new_index');

这也可能比删除和重新索引(尤其是在大型数据库上)更有效。

我还为功能请求创建了一个问题,以便更好地支持。请在这里点赞: https://github.com/laravel/internals/issues/443

关于laravel - 重命名 Laravel 5 中的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42480656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com