Szacowany czas czytania: 4 minuti
database.php
in config
katalogPlik ten znajduje się w katalogu config
Twojej aplikacji Laravel.
W pliku database.php
è possibile defizakończ wiele połączeń z bazą danych. Każde połączenie musi być definitowane jako tablica. Tablica powinna zawierać następujące informacje:
driver
: sterownik bazy danych, którego należy używać;host
: imię host
lub adres IP
serwera bazy danych;port
: numer portu serwera bazy danych;database
: nazwa bazy danych;username
: nazwa użytkownika umożliwiająca połączenie z bazą danych;password
: hasło do połączenia z bazą danych;Na przykład poniższy kod defiIstnieją dwa połączenia z bazą danych, jedno dla MySQL i jedno dla PostgreSQL:
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'url' => env('DATABASE_URL'),
'database' => env('DB_DATABASE', database_path('database.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', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
'pgsql' => [
'driver' => 'pgsql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
'schema' => 'public',
'sslmode' => 'prefer',
],
Później defiGdy już będziesz mieć połączenia z bazą danych, możesz ich użyć w swoim kodzie Laravel
. Aby to zrobić, możesz użyć facade
bazy danych. Tam facade
baza danych zapewnia ujednolicony interfejs do interakcji z bazami danych.
Aby przełączać się między połączeniami z bazą danych, możesz skorzystać z metody Connection()
z facade
Bazy danych. Metoda Connection()
przyjmuje jako argument nazwę połączenia z bazą danych.
Na przykład następujący kod przechodzi z bazy danych mysql do bazy danych pgsql:
use Illuminate\Support\Facades\DB;
DB::connection('pgsql');
Po przełączeniu na połączenie z bazą danych można go używać do wykonywania zapytań i interakcji z bazą danych.
Korzystanie z wielu baz danych w Laravel ma wiele zalet, w tym:
Oto kilka najlepszych praktyk dotyczących korzystania z wielu baz danych w Laravel:
Connection()
przejść od jednego DB na inny - pomoże to uniknąć przypadkowego uruchomienia pytanie na baza danych zło.Korzystanie z wielu baz danych w Laravel może być świetnym sposobem na poprawę wydajności, bezpieczeństwa i skalowalności aplikacji. Stosując się do najlepszych praktyk opisanych w tym artykule, możesz efektywnie korzystać z wielu baz danych w Laravel.
Ercole Palmeri
W ubiegły poniedziałek Financial Times ogłosił zawarcie umowy z OpenAI. FT udziela licencji na swoje światowej klasy dziennikarstwo…
Miliony ludzi płacą za usługi przesyłania strumieniowego, płacąc miesięczne opłaty abonamentowe. Powszechnie panuje opinia, że…
Coveware by Veeam będzie w dalszym ciągu świadczyć usługi reagowania na incydenty związane z wyłudzeniami cybernetycznymi. Coveware będzie oferować funkcje kryminalistyczne i naprawcze…
Konserwacja predykcyjna rewolucjonizuje sektor naftowo-gazowy dzięki innowacyjnemu i proaktywnemu podejściu do zarządzania zakładami.…