Я разрабатываю проект, в котором мне нужно использовать несколько баз данных в Laravel. Первая база данных работает как шарм (MySQL), но я не могу заставить фреймворк распознавать БД SQLite. Появляющаяся ошибка:
Подсветка \ База данных \ QueryException База данных (sqlite) не существует. (SQL: PRAGMA foreign_keys = ON;)
Вот мой .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=sitio1
DB_USERNAME=root
DB_PASSWORD=
DB_CONNECTION_SECOND=sqlite
DB_DATABASE_SECOND=/Users/imac/CleverOctopusBDD/database/Sitio2.sqlite
DB_USERNAME_SECOND=root
DB_PASSWORD_SECOND=
и вот моя база данных. php
'default' => env('DB_CONNECTION', 'mysql'),
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'url' => env('DATABASE_URL'),
'database' => env('DB_CONNECTION_SECOND', database_path('Sitio2.sqlite')),
'prefix' => '',
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
],
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'sitiocentral'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
]) : [],
],
И мой файл .sqlite находится по следующему адресу: -> database -> Sitio2.sqlite
Я провел небольшое исследование и не знаю, что я делаю неправильно. Если вам интересно, вот как выглядит одна из моих моделей sqlite db ...
class Client2 extends Model
{
protected $connection = 'sqlite';
protected $fillable = [
'name', 'email', 'phone', 'address'
];
protected $table = 'Client2';
protected $primaryKey = 'idClient';
public $timestamps = false;
}
Надеюсь, вы мне поможете, потому что я нашел информацию о нескольких MySQL соединениях, но не с SQLite Я ценю любые советы.
РЕДАКТИРОВАТЬ: Мне просто нужно было передать полный путь к 'database' => env ('DB_DATABASE_SECOND', database_path ('Sitio2.sqlite')),