PHPUnit MySQL в тесте памяти со столбцом точки и полигона - PullRequest
0 голосов
/ 14 мая 2019

У меня есть миграция для таблицы следующим образом:

    use Illuminate\Support\Facades\Schema;
    use Grimzy\LaravelMysqlSpatial\Schema\Blueprint;  //use this as blueprint
    use Illuminate\Database\Migrations\Migration;
Schema::create('properties', function (Blueprint $table) {
    $table->increments('id');
    $table->string('name');
    $table->point('position');
    $table->integer('radius');
    $table->polygon('area_perimeter');
});

Также я использую эту библиотеку и добавила черту в модель свойств:

https://packagist.org/packages/grimzy/laravel-mysql-spatial

Перед обновлением position и area_perimeter для использования геопространственного типа PHPUnit работает с

<env name="APP_ENV" value="testing"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="QUEUE_CONNECTION" value="sync"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="MAIL_DRIVER" value="array"/>
<env name="DB_CONNECTION" value="sqlite"/>
<env name="DB_DATABASE" value=":memory:"/>
<env name="TELESCOPE_ENABLED" value="false"/>

Но теперь он больше не работает, и я получаю эту ошибку:

Argument 1 passed to CreatePropertiesTable::{closure}() must be an instance of Grimzy\LaravelMysqlSpatial\Schema\Blueprint, instance of Illuminate\Database\Schema\Blueprint given

Что имеет отношение к sqlite, не поддерживает точку и полигональный столбец

Я хотел бы иметь возможность запускать phpunit на mysql в памяти.Или как я могу заставить эту работу работать с указанными требованиями?

...