我想在laravel项目中使用Vinelab / Neoeloquent包。之前,我使用MySql来存储数据。现在,我想为此目的使用neo4j。
我在composer.json中的database.php中添加了"vinelab/neoeloquent":"1.4.7"
'default' => env('DB_CONNECTION','neo4j')
,在连接数组中
'neo4j' => [
'driver' => 'neo4j',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '7474'),
'username' => env('DB_USERNAME', 'neo4j'),
'password' => env('DB_PASSWORD', 'neo4j')
]
以及在app.php 'Vinelab\NeoEloquent\NeoEloquentServiceProvider'
之后,作曲家已成功更新。 此外,我将.env从我之前的MySQL配置更改为neo4j的配置。
DB_CONNECTION=neo4j
DB_HOST=127.0.0.1
DB_PORT=7474
DB_DATABASE=neo4j
DB_USERNAME=neo4j
DB_PASSWORD=neo4j
毕竟,我遇到了一些问题: 1.无法识别迁移文件中的功能标签
public function up()
{
Neo4jSchema::label('User', function(Blueprint $label) {
$label->unique('email');
$label->index('name');
});
}
2。即使有这个问题,当我尝试迁移时,仍然遇到以下问题
In Facade.php line 223:
Call to undefined method Vinelab\NeoEloquent\Schema\Builder::defaultStringLength()
请记住,更改.env文件后,我无法更新composer并收到相同的错误
Illuminate\Foundation\ComposerScripts::postAutoloadDump
@php artisan package:discover
In Facade.php line 223:
Call to undefined method Vinelab\NeoEloquent\Schema\Builder::defaultStringLength()
Script @php artisan package:discover handling the post-autoload-dump event returned with error code 1
Failed to update packages for ./composer.json.
答案 0 :(得分:0)
尝试以此编辑您的 AppServiceProvider.php ,
use Illuminate\Support\Facades\Schema;
public function boot()
{
Schema::defaultStringLength(191);
}