У меня есть миграция для таблицы следующим образом:
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 в памяти.Или как я могу заставить эту работу работать с указанными требованиями?