gpt4 book ai didi

database - Laravel Framework 上的 removeColumn 和 dropColumn 方法有什么区别?

转载 作者:太空狗 更新时间:2023-10-30 01:45:28 26 4
gpt4 key购买 nike

我需要从 Laravel 迁移的表中删除一列。

通常的代码是:

$table->dropColumn([ 'city', 'country' ]);

但是你必须安装 Doctrine DBAL 包才能使用 dropColumn() 方法。

寻找另一种解决方案,我找到了removeColumn() 方法(http://laravel.com/api/5.0/Illuminate/Database/Schema/Blueprint.html#method_removeColumn):

$table->removeColumn('city'); 
$table->removeColumn('country');

但是好像不行。它什么也不做,不会失败,并保留完整的列。

removeColumn 和 dropColumn 方法有什么区别?

removeColumn()方法的用途是什么?

最佳答案

removeColumn() 方法对于大多数迁移实际上毫无用处。它只是从蓝图中删除列,而不是实际上从数据库中删除。因此,如果您进行了此迁移:

Schema::create('foo', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();

$table->string('foo')->nullable();
$table->string('bar');

$table->removeColumn('foo');
});

创建的表将不包含 foo 列,因为它已从架构中删除。

关于database - Laravel Framework 上的 removeColumn 和 dropColumn 方法有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30256463/

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