我正在尝试设置Laravel应用。我确保使用brew:
在我的systme上安装了postgis$ brew install postgis
Warning: postgis 2.3.2 is already installed
我知道它已被列为composer.json
中所需的包之一,如下所示:
"phaza/laravel-postgis": "^3.0",
我也可以在我的composer.lock
中找到它。
然而,当我运行php artisan migrate
时,我得到了这个
[Symfony\Component\Debug\Exception\FatalThrowableError]
Call to undefined method Illuminate\Database\Schema\Blueprint::enablePostgis()
我的代码看起来像这样
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
...
$table->enablePostgis();
如果我点击enablePostgis
上的跳转到定义,就会把我带到这里:
vendor/phaza/laravel-postgis/src/Schema/Blueprint.php
不确定发生了什么?
答案 0 :(得分:0)
替换
use Illuminate\Database\Schema\Blueprint;
带
use Phaza\LaravelPostgis\Schema\Blueprint;
答案 1 :(得分:0)
您是否尝试过将$table->point('location')
放在function up()
而没有$table->enablePostgis()
?
在the documentation中的示例迁移中,任何地方都没有$table->enablePostgis()
语句。
答案 2 :(得分:0)
原来我的postgres数据库连接细节(即用户名/密码)不正确!因此它与导入库无关..所以错误信息是如此误导..对不起家伙:(