Zimanî babet

Meriv çawa Laravel mîheng dike ku di Projeya xwe de gelek databases bikar bîne

Bi gelemperî projeyek pêşkeftina nermalavê karanîna Danegehek ji bo hilanîna daneyan bi rengek sazkirî vedihewîne.

Ji bo projeyên taybetî dibe ku hewce be ku gelek databases bikar bînin.

Bi Laravel re, ji bo ku em gelek databases bikar bînin, pêdivî ye ku em çarçoveyê û bi taybetî pelê veavakirina girêdanê mîheng bikin.

Ka em bibînin ka meriv çawa Laravel mîheng dike da ku gelek databases bikar bîne.

Dema xwendinê ya texmînkirî: 4 minuti

Wêne database.php in config directory

Ev pel di pelrêçê de ye config ji serîlêdana weya Laravel.

Di pelê de database.php gengaz e defigirêdanên databasê yên pirjimar nish. Divê her girêdan hebe defiwekî array tê destnîşan kirin. Pêdivî ye ku array agahdariya jêrîn hebe:

  • driver: ajokera databasê ya ku tê bikar anîn;
  • host: nav host an navnîşan IP pêşkêşkara databasê;
  • port: jimareya porta servera databasê;
  • database: navê databasê;
  • username: navê bikarhêner ji bo girêdana databasê;
  • password: şîfreya ji bo girêdana bi databasê;

Mînakî, koda jêrîn defiDu girêdanên databasê hene, yek ji bo MySQL û yek ji bo 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',
        ],

Meriv çawa bi DB-ê ve girêdayî ye

Piştî defiGava ku we girêdanên databasê hene, hûn dikarin wan di koda xwe de bikar bînin Laravel. Ji bo vê yekê, hûn dikarin bikar bînin facade ya databasê. Va facade databas ji bo danûstendina bi databasan re navgînek yekgirtî peyda dike.

Ji bo veguheztina di navbera girêdanên databasê de, hûn dikarin rêbazê bikar bînin Connection() della facade Databases. Rêbaz Connection() navê girêdana databasê wekî arguman digire.

Mînakî, koda jêrîn ji mysql DB diçe pgsql DB:

nûçenameya Innovation
Nûçeyên herî girîng ên li ser nûjeniyê ji bîr nekin. Sign up ji bo wergirtina wan bi e-nameyê.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

Gava ku hûn veguhezînin pêwendiyek databasê, hûn dikarin wê bikar bînin da ku jêpirsîn bikin û bi databasê re têkilî daynin.

Feydeyên karanîna gelek databases li Laravel

Gelek feydeyên ji bo karanîna gelek databases li Laravel hene, di nav de:

  • Performansa çêtir: Bikaranîna gelek databases dikare bi veqetandina daneyên celebên cûda performansa serîlêdanê baştir bike. Mînakî, hûn dikarin daneyên bikarhêner li databasek û daneyên hilberê li databasek din hilînin.
  • Ewlekariya zêde: Bikaranîna gelek databases dikare ewlehiya serîlêdanê bi veqetandina daneyên celebên cûda baştir bike. Mînakî, dibe ku hûn daneyên hesas li databasek û daneyên kêmtir hesas di danegehek din de hilînin.
  • Mezinbûnek mezintir: Bikaranîna pir databasan dikare serlêdana we berbelavtir bike û bihêle hûn daneyên xwe li ser gelek serveran belav bikin.

Pratîkên çêtirîn ji bo karanîna gelek databases li Laravel

Li vir çend pratîkên çêtirîn ên ji bo karanîna gelek databases li Laravel hene:

  • Ji bo girêdanên databasê navên dostane bikar bînin: Ev ê nasîn û rêvebirina girêdanên databasê hêsantir bike.
  • Rêbazê bikar bînin Connection() ji yekî here DB ji yekî din re - ev ê ji we re bibe alîkar ku hûn bi xeletî birevin pirs sul heye qelp.
  • Pergalek koçberiya databasê bikar bînin da ku nexşeyên databasa xwe birêve bibin - ev ê ji we re bibe alîkar ku hûn şemayên databasa xwe di hemî hemî xwe de hevdem bikin. heye.

encamê de

Bikaranîna gelek databasan di Laravel de dikare bibe rêgezek girîng ji bo baştirkirina performans, ewlehî û mezinbûna serîlêdana we. Bi şopandina pratîkên çêtirîn ên ku di vê gotarê de hatine destnîşan kirin, hûn dikarin gelek databasên li Laravel bi bandor bikar bînin.

Xwendinên Têkildar

Ercole Palmeri

nûçenameya Innovation
Nûçeyên herî girîng ên li ser nûjeniyê ji bîr nekin. Sign up ji bo wergirtina wan bi e-nameyê.

Gotarên dawî

Tezmînata Serhêl: Li vir çawa Karûbarên Streaming Dihêlin Hûn Herheyî Bidin

Bi mîlyonan mirov ji bo karûbarên streaming, heqê abonetiya mehane didin. Nêrîna hevpar e ku hûn…

29 Nîsana 2024

Veeam ji parastinê bigire heya bersiv û başbûnê ji bo ransomware piştgirîya herî berfireh vedihewîne

Coveware ji hêla Veeam ve dê berdewam bike ku karûbarên bersivdayina bûyera xerckirina sîber peyda bike. Coveware dê kapasîteyên dadwerî û sererastkirinê pêşkêşî bike…

23 Nîsana 2024

Şoreşa Kesk û Dîjîtal: Ma Maintenance Pêşbînîdar Pîşesaziya Neft û Gazê Veguherîne Çawa

Lênêrîna pêşbînîkirî di sektora neft û gazê de, bi nêzîkatiyek nûjen û çalak a rêveberiya nebatê şoreşek dike.…

22 Nîsana 2024

Rêkûpêk antîtrust a Keyaniya Yekbûyî alarma BigTech li ser GenAI radike

CMA ya Keyaniya Yekbûyî di derbarê reftarên Big Tech de di bazara îstîxbarata çêkirî de hişyariyek derxist. Va…

18 Nîsana 2024