我正在使用Laravel,我刚刚添加了一个新的迁移,以增加列的大小。第一个生成的表具有Point
类型的latlong
列。我无法修改任何列大小?
当我尝试修改列的大小时,我会在下面收到错误:
[学说 dbal dbalexception]
未知的数据库类型点请求,Doctrine dbal Platforms mysql57platform可能不支持它。
这是我的迁移文件。第一个迁移是为创建表abc
public function up()
{
Schema::create('abc', function (Blueprint $table) {
$table->increments('id');
$table->string('first_name', 20);
$table->string('last_name', 20);
$table->string('street', 100);
$table->string('city', 50)->nullable();
$table->string('state', 50)->nullable();
$table->string('postal_code', 15);
$table->string('mobile', 10)->nullable();
$table->timestamps();
$table->softDeletes();
});
IlluminateSupportFacadesDB::statement('ALTER TABLE abc ADD latlong POINT');
}
第二个迁移是用于更新列大小
public function up()
{
Schema::table('abc', function (Blueprint $table){
$table->string('mobile', 20)->nullable()->change();
});
}
任何人都可以帮我吗?
在您的迁移中,添加以下功能:
public function __construct()
{
IlluminateSupportFacadesDB::getDoctrineSchemaManager()
->getDatabasePlatform()->registerDoctrineTypeMapping('point', 'string');
}