用品

如何配置 Laravel 在專案中使用多個資料庫

通常,軟體開發專案涉及使用資料庫以結構化方式儲存資料。

對於特定的項目,可能需要使用多個資料庫。

對於 Laravel,要使用多個資料庫,我們需要設定框架,特別是連接設定檔。

讓我們看看如何配置 Laravel 以使用多個資料庫。

預計閱讀時間: 4 minuti

文件 database.php in config 目錄

該檔案位於目錄中 config 您的 Laravel 應用程式。

在文件中 database.php 有可能 defi完成多個資料庫連線。每個連接都必須 definited 作為一個陣列。該數組應包含以下資訊:

  • 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 DB 轉到 pgsql DB:

創新通訊
不要錯過有關創新的最重要新聞。 註冊以通過電子郵件接收它們。
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

一旦切換到資料庫連接,您就可以使用它來查詢資料庫並與資料庫互動。

在 Laravel 中使用多個資料庫的好處

在 Laravel 中使用多個資料庫有很多好處,包括:

  • 更好的效能:使用多個資料庫可以透過分離不同類型的資料來提高應用程式效能。例如,您可以將使用者資料儲存在一個資料庫中,將產品資料儲存在另一個資料庫中。
  • 提高安全性:使用多個資料庫可以透過分離不同類型的資料來提高應用程式安全性。例如,您可以將敏感資料儲存在一個資料庫中,而不太敏感的資料儲存在另一個資料庫中。
  • 更高的可擴展性:使用多個資料庫可讓您將資料分佈到多個伺服器上,從而使您的應用程式更具可擴展性。

在 Laravel 中使用多個資料庫的最佳實踐

以下是在 Laravel 中使用多個資料庫的一些最佳實踐:

  • 對資料庫連線使用友善名稱:這將使識別和管理資料庫連接變得更加容易。
  • 使用方法 Connection() 從一開始 DB 到另一個 - 這將幫助您避免意外運行 詢問 數據庫 錯誤的。
  • 使用資料庫遷移系統來管理您的資料庫架構 - 這將幫助您保持資料庫架構在所有資料庫之間保持同步。 數據庫.

結論

在 Laravel 中使用多個資料庫是提高應用程式效能、安全性和可擴展性的好方法。透過遵循本文中描述的最佳實踐,您可以在 Laravel 中有效地使用多個資料庫。

相關閱讀

Ercole Palmeri

創新通訊
不要錯過有關創新的最重要新聞。 註冊以通過電子郵件接收它們。

最近的文章

Veeam 為勒索軟體提供最全面的支持,從保護到回應和恢復

Veeam 的 Coveware 將繼續提供網路勒索事件回應服務。 Coveware 將提供取證和修復功能…

23月2024

綠色與數位革命:預測性維護如何改變石油和天然氣產業

預測性維護正在透過創新和主動的工廠管理方法徹底改變石油和天然氣行業。

22月2024

英國反壟斷監管機構對 GenAI 向 BigTech 發出警報

英國 CMA 對大型科技公司在人工智慧市場的行為發出了警告。那裡…

18月2024

Casa Green:義大利永續未來的能源革命

歐盟為提高建築物能源效率而製定的「綠色案例」法令已結束立法程序…

18月2024