【发布时间】:2020-05-13 06:52:07
【问题描述】:
我正在尝试在 laraval 5.8 中使用 php artisan migrate 命令更改我的 char 类型列默认值,但出现以下错误:
Unknown column type "char" requested. Any Doctrine type that you use has to be registered with \Doctrine\DBAL\Types\Type::addType(). You can get a list of all the known types with \Doctrine\DBAL\Types\Type::getTypesMap(). If this error occurs during database introspection then you might have forgotten to register all database types for a Doctrine Type. Use AbstractPlatform#registerDoctrineTypeMapping() or have your custom types implement Type#getMappedDatabaseTypes(). If the type name is empty you might have a problem with the cache or forgot some mapping information.
我当前的脚本如下:
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddTypeDeafultValueProjectsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('projects', function (Blueprint $table) {
$table->char('type', 50)->nullable(true)->change();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('projects', function (Blueprint $table) {
//
});
}
}
我没有遇到其他数据类型列的问题,但只有 char 出现上述错误。 请帮我解决这个问题?
【问题讨论】:
-
无法将现有列更改为 char。来自文档 - laravel.com/docs/5.8/migrations。截图:prntscr.com/sft7r6
标签: php mysql laravel laravel-5