【发布时间】:2021-04-22 18:15:17
【问题描述】:
在 Laravel 6 中,我有一个表 companies,我想将列 card 更改为可为空。
我创建了一个新的迁移,我可以使用它来更改它
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('companies', function (Blueprint $table) {
$table->double('card')->nullable()->change();
});
}
但问题是doctrine/dbal 只支持某些特定的数据类型进行更新。
错误:请求了未知的列类型“double”。任何教义类型 您使用的必须注册 \Doctrine\DBAL\Types\Type::addType()。你可以得到所有的列表 \Doctrine\DBAL\Types\Type::getTypesMap() 的已知类型。
有什么方法可以在不触及其数据类型的情况下将此列更新为可为空?或任何数据库语句?
我可以使用
DB::statement('ALTER TABLE `companies` CHANGE `card` `card` INT NULL DEFAULT NULL;');
但我担心这是正确的做法吗?
【问题讨论】:
标签: laravel