Makaleler

Laravel'i Projenizde birden fazla veritabanı kullanacak şekilde nasıl yapılandırabilirsiniz?

Normalde bir yazılım geliştirme projesi, verileri yapılandırılmış bir şekilde depolamak için bir Veritabanının kullanılmasını içerir.

Belirli projeler için birden fazla veri tabanının kullanılması gerekli olabilir.

Laravel ile birden fazla veritabanı kullanmak için çerçeveyi ve özellikle de bağlantı yapılandırma dosyasını yapılandırmamız gerekir.

Laravel'i birden fazla veritabanı kullanacak şekilde nasıl yapılandıracağımızı görelim.

Tahmini okuma süresi: 4 minuti

fileto database.php in config rehber

Bu dosya dizinde bulunur config Laravel uygulamanızın.

Dosyanın içinde database.php mümkün defibirden fazla veritabanı bağlantısını sonlandırın. Her bağlantı olmalı defibir dizi olarak tanımlandı. Dizi aşağıdaki bilgileri içermelidir:

  • driver: kullanılacak veritabanı sürücüsü;
  • host: isim host veya adres IP veritabanı sunucusunun;
  • port: veritabanı sunucusu bağlantı noktası numarası;
  • database: veritabanı adı;
  • username: veritabanına bağlanmak için kullanılan kullanıcı adı;
  • password: veritabanına bağlanmak için şifre;

Örneğin, aşağıdaki kod defiBiri MySQL ve diğeri PostgreSQL için olmak üzere iki veritabanı bağlantısı vardır:

'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',
        ],

DB'ye nasıl bağlanılır

Sonra defiVeritabanı bağlantılarınız olduğunda bunları kodunuzda kullanabilirsiniz. Laravel. Bunu yapmak için şunları kullanabilirsiniz: facade veritabanının. Orada facade veritabanı, veritabanlarıyla etkileşim için birleşik bir arayüz sağlar.

Veritabanı bağlantıları arasında geçiş yapmak için yöntemi kullanabilirsiniz. Connection() arasında facade Veritabanları. Yöntem Connection() argüman olarak veritabanı bağlantısının adını alır.

Örneğin, aşağıdaki kod mysql DB'den pgsql DB'ye gider:

İnovasyon bülteni
İnovasyonla ilgili en önemli haberleri kaçırmayın. Onları e-posta ile almak için kaydolun.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

Bir veritabanı bağlantısına geçtiğinizde, bunu veritabanını sorgulamak ve veritabanıyla etkileşimde bulunmak için kullanabilirsiniz.

Laravel'de birden fazla veritabanı kullanmanın faydaları

Laravel'de birden fazla veritabanı kullanmanın aşağıdakiler de dahil olmak üzere çok sayıda faydası vardır:

  • Daha iyi performans: Birden çok veritabanının kullanılması, farklı türdeki verileri ayırarak uygulama performansını artırabilir. Örneğin, kullanıcı verilerini bir veritabanında, ürün verilerini ise başka bir veritabanında saklayabilirsiniz.
  • Artan güvenlik: Birden fazla veritabanının kullanılması, farklı türdeki verileri ayırarak uygulama güvenliğini artırabilir. Örneğin, hassas verileri bir veritabanında, daha az hassas verileri ise başka bir veritabanında depolayabilirsiniz.
  • Daha fazla ölçeklenebilirlik: Birden çok veritabanı kullanmak, verilerinizi birden çok sunucuya dağıtmanıza olanak tanıyarak uygulamanızı daha ölçeklenebilir hale getirebilir.

Laravel'de birden fazla veritabanı kullanmaya yönelik en iyi uygulamalar

Laravel'de birden fazla veritabanı kullanmaya yönelik en iyi uygulamalardan bazıları şunlardır:

  • Veritabanı bağlantıları için kolay adlar kullanın: Bu, veritabanı bağlantılarını tanımlamayı ve yönetmeyi kolaylaştıracaktır.
  • Yöntemi kullan Connection() birinden gitmek DB diğerine - bu, yanlışlıkla çalıştırmaktan kaçınmanıza yardımcı olacaktır sorgu üzerinde veritabanı yanlış.
  • Veritabanı şemalarınızı yönetmek için bir veritabanı geçiş sistemi kullanın; bu, veritabanı şemalarınızı tüm uygulamalarınızda senkronize tutmanıza yardımcı olacaktır. veritabanı.

Sonuç

Laravel'de birden fazla veritabanı kullanmak, uygulamanızın performansını, güvenliğini ve ölçeklenebilirliğini geliştirmenin harika bir yolu olabilir. Bu makalede açıklanan en iyi uygulamaları takip ederek Laravel'de birden fazla veritabanını etkili bir şekilde kullanabilirsiniz.

İlgili Okumalar

Ercole Palmeri

İnovasyon bülteni
İnovasyonla ilgili en önemli haberleri kaçırmayın. Onları e-posta ile almak için kaydolun.

Son Makaleler

Çevrimiçi Ödemeler: Yayın Hizmetlerinin Sonsuza Kadar Ödemenizi Sağlaması

Milyonlarca insan aylık abonelik ücreti ödeyerek akış hizmetleri için ödeme yapıyor. Yaygın kanaat şu ki…

Nisan 29 2024

Veeam, korumadan yanıt ve kurtarmaya kadar fidye yazılımı için en kapsamlı desteği sunuyor

Veeam Coveware, siber şantaj olaylarına müdahale hizmetleri sağlamaya devam edecek. Coveware adli tıp ve iyileştirme yetenekleri sunacak…

Nisan 23 2024

Yeşil ve Dijital Devrim: Kestirimci Bakım Petrol ve Gaz Endüstrisini Nasıl Dönüştürüyor?

Kestirimci bakım, tesis yönetimine yenilikçi ve proaktif bir yaklaşımla petrol ve gaz sektöründe devrim yaratıyor.…

Nisan 22 2024

Birleşik Krallık antitröst düzenleyicisi GenAI konusunda BigTech alarmını yükseltti

İngiltere CMA, Big Tech'in yapay zeka pazarındaki davranışları hakkında bir uyarı yayınladı. Orada…

Nisan 18 2024