【发布时间】:2018-05-09 03:24:15
【问题描述】:
我正在使用laravel,我刚刚添加了一个新的迁移来增加列大小。
第一个生成的表有一个名为latlong 类型为Point 的列。
我无法修改任何列大小?
当我尝试这样做时,会出现以下错误。谁能帮我解决这个问题?
[Doctrine\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();
});
Illuminate\Support\Facades\DB::statement('ALTER TABLE abc ADD latlong POINT');
}
第二次迁移是为了更新列大小
public function up()
{
Schema::table('abc', function (Blueprint $table){
$table->string('mobile', 20)->nullable()->change();
});
}
【问题讨论】:
-
可能是
Point不被 laravel 支持检查这个答案到 fix this issue -
是的,
Point是这里的问题。 -
如果我使用
Illuminate\Support\Facades\DB::statement('ALTER TABLE abc MODIFY mobile VARCHAR(20)');,那么它对我来说很好。但我不想使用这个解决方案。
标签: php laravel doctrine-orm doctrine laravel-5.4