Болжолдуу окуу убактысы: 4 мүнөт
database.php
in config
справочникБул файл каталогдо жайгашкан config
Laravel тиркемеңизден.
Файлда database.php
мүмкүн defiбир нече маалымат базасын туташтыруу. Ар бир байланыш болушу керек defiмассив катары бириктирилген. Массив төмөнкү маалыматтарды камтышы керек:
driver
: колдонуу үчүн маалымат базасынын драйвери;host
: аты host
же дареги IP
маалымат базасынын серверинен;port
: маалымат базасы серверинин порт номери;database
: маалымат базасынын аты;username
: маалымат базасына кошулуу үчүн колдонуучу аты;password
: маалымат базасына кошулуу үчүн сырсөз;Мисалы, төмөнкү код defiЭки маалымат базасы байланышы бар, бири MySQL үчүн жана бири 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',
],
Кийин defiМаалыматтар базасынын байланыштары болгондон кийин, аларды кодуңузда колдоно аласыз Laravel
. Бул үчүн, сиз колдоно аласыз facade
маалымат базасынын. Ал жерде facade
маалымат базасы маалымат базалары менен өз ара аракеттенүү үчүн бирдиктүү интерфейсти камсыз кылат.
Берилиштер базасынын байланыштары ортосунда которулуу үчүн, сиз ыкманы колдоно аласыз Connection()
делла facade
Маалымат базалары. Ыкма Connection()
аргумент катары маалымат базасы байланышынын атын алат.
Мисалы, төмөнкү код MySQL МБдан pgsql ДБга өтөт:
use Illuminate\Support\Facades\DB;
DB::connection('pgsql');
Маалыматтар базасына туташууга өткөндөн кийин, аны сурамжылоо жана маалымат базасы менен иштешүү үчүн колдоно аласыз.
Ларавелде бир нече маалымат базасын колдонуунун көптөгөн артыкчылыктары бар, анын ичинде:
Бул жерде Laravelде бир нече маалымат базаларын колдонуу үчүн эң мыкты тажрыйбалар:
Connection()
биринен кетүү DB башкага - бул кокусунан качууга жардам берет суроо сул маалыматтар базасы туура эмес.Laravelде бир нече маалымат базаларын колдонуу колдонмоңуздун иштешин, коопсуздугун жана масштабдуулугун жакшыртуунун эң сонун жолу болушу мүмкүн. Бул макалада сүрөттөлгөн мыкты тажрыйбаларды колдонуу менен, сиз Laravelде бир нече маалымат базасын эффективдүү колдоно аласыз.
Ercole Palmeri
Veeam тарабынан Coveware кибер опузалап инциденттерге жооп берүү кызматтарын көрсөтүүнү улантат. Coveware криминалистика жана ремедиация мүмкүнчүлүктөрүн сунуштайт ...
Болжолдуу тейлөө заводду башкарууга инновациялык жана жигердүү мамиле кылуу менен мунай жана газ секторун революция кылып жатат.…
Улуу Британиянын CMA жасалма интеллект рыногунда Big Tech жүрүм-туруму жөнүндө эскертүү берди. Ал жерде…
Имараттардын энергетикалык натыйжалуулугун жогорулатуу үчүн Европа Биримдиги тарабынан иштелип чыккан "Case Green" Декрети өзүнүн мыйзам чыгаруу процессин аяктады ...