Các bài viết

Cách định cấu hình Laravel để sử dụng nhiều cơ sở dữ liệu trong Dự án của bạn

Thông thường, một dự án phát triển phần mềm liên quan đến việc sử dụng Cơ sở dữ liệu để lưu trữ dữ liệu theo cách có cấu trúc.

Đối với các dự án cụ thể, có thể cần phải sử dụng nhiều cơ sở dữ liệu.

Với Laravel, để sử dụng nhiều cơ sở dữ liệu, chúng ta cần cấu hình framework và đặc biệt là file cấu hình kết nối.

Hãy xem cách cấu hình Laravel để sử dụng nhiều cơ sở dữ liệu.

Thời gian đọc ước tính: 4 minuti

Tập tin database.php in config thư mục

Tập tin này nằm trong thư mục config của ứng dụng Laravel của bạn.

Trong file database.php là nó có thể defikết thúc nhiều kết nối cơ sở dữ liệu. Mọi kết nối đều phải defiđược liệt kê dưới dạng một mảng. Mảng phải chứa các thông tin sau:

  • driver: trình điều khiển cơ sở dữ liệu sẽ sử dụng;
  • host: tên host hoặc địa chỉ IP của máy chủ cơ sở dữ liệu;
  • port: số cổng máy chủ cơ sở dữ liệu;
  • database: tên cơ sở dữ liệu;
  • username: tên người dùng để kết nối với cơ sở dữ liệu;
  • password: mật khẩu kết nối tới cơ sở dữ liệu;

Ví dụ: đoạn mã sau defiCó hai kết nối cơ sở dữ liệu, một cho MySQL và một cho 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',
        ],

Cách kết nối với cơ sở dữ liệu

Sau khi có defiSau khi có kết nối cơ sở dữ liệu, bạn có thể sử dụng chúng trong mã của mình Laravel. Để làm điều này, bạn có thể sử dụng facade của cơ sở dữ liệu. Ở đó facade cơ sở dữ liệu cung cấp một giao diện thống nhất để tương tác với cơ sở dữ liệu.

Để chuyển đổi giữa các kết nối cơ sở dữ liệu, bạn có thể sử dụng phương thức Connection() của facade Cơ sở dữ liệu. phương pháp Connection() lấy tên của kết nối cơ sở dữ liệu làm đối số.

Ví dụ: đoạn mã sau đi từ cơ sở dữ liệu mysql đến cơ sở dữ liệu pssql:

Bản tin đổi mới
Đừng bỏ lỡ những tin tức quan trọng nhất về đổi mới. Đăng ký để nhận chúng qua email.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

Sau khi chuyển sang kết nối cơ sở dữ liệu, bạn có thể sử dụng kết nối đó để truy vấn và tương tác với cơ sở dữ liệu.

Lợi ích của việc sử dụng nhiều cơ sở dữ liệu trong Laravel

Có rất nhiều lợi ích khi sử dụng nhiều cơ sở dữ liệu trong Laravel, bao gồm:

  • Hiệu suất tốt hơn: Sử dụng nhiều cơ sở dữ liệu có thể cải thiện hiệu suất ứng dụng bằng cách tách dữ liệu thuộc các loại khác nhau. Ví dụ: bạn có thể lưu trữ dữ liệu người dùng trong một cơ sở dữ liệu và dữ liệu sản phẩm trong cơ sở dữ liệu khác.
  • Tăng cường bảo mật: Sử dụng nhiều cơ sở dữ liệu có thể cải thiện bảo mật ứng dụng bằng cách tách dữ liệu thuộc các loại khác nhau. Ví dụ: bạn có thể lưu trữ dữ liệu nhạy cảm trong một cơ sở dữ liệu và dữ liệu ít nhạy cảm hơn trong cơ sở dữ liệu khác.
  • Khả năng mở rộng lớn hơn: Việc sử dụng nhiều cơ sở dữ liệu có thể giúp ứng dụng của bạn có khả năng mở rộng cao hơn bằng cách cho phép bạn phân phối dữ liệu của mình trên nhiều máy chủ.

Thực tiễn tốt nhất để sử dụng nhiều cơ sở dữ liệu trong Laravel

Dưới đây là một số phương pháp hay nhất để sử dụng nhiều cơ sở dữ liệu trong Laravel:

  • Sử dụng tên thân thiện cho các kết nối cơ sở dữ liệu: Điều này sẽ giúp việc xác định và quản lý các kết nối cơ sở dữ liệu dễ dàng hơn.
  • Sử dụng phương pháp Connection() đi từ một DB sang cái khác - điều này sẽ giúp bạn tránh việc vô tình chạy truy vấn trên cơ sở dữ liệu sai.
  • Sử dụng hệ thống di chuyển cơ sở dữ liệu để quản lý các lược đồ cơ sở dữ liệu của bạn – điều này sẽ giúp bạn giữ cho các lược đồ cơ sở dữ liệu của mình được đồng bộ hóa trên tất cả các cơ sở dữ liệu.

phần kết luận

Sử dụng nhiều cơ sở dữ liệu trong Laravel có thể là một cách tuyệt vời để cải thiện hiệu suất, tính bảo mật và khả năng mở rộng cho ứng dụng của bạn. Bằng cách làm theo các phương pháp hay nhất được mô tả trong bài viết này, bạn có thể sử dụng nhiều cơ sở dữ liệu trong Laravel một cách hiệu quả.

Bài đọc liên quan

Ercole Palmeri

Bản tin đổi mới
Đừng bỏ lỡ những tin tức quan trọng nhất về đổi mới. Đăng ký để nhận chúng qua email.

Bài viết gần đây

Thanh toán trực tuyến: Đây là cách dịch vụ phát trực tuyến giúp bạn thanh toán mãi mãi

Hàng triệu người trả tiền cho các dịch vụ phát trực tuyến, trả phí thuê bao hàng tháng. Ý kiến ​​chung là bạn…

29 tháng tư 2024

Veeam có tính năng hỗ trợ toàn diện nhất cho ransomware, từ bảo vệ đến phản hồi và phục hồi

Coveware của Veeam sẽ tiếp tục cung cấp dịch vụ ứng phó sự cố tống tiền trên mạng. Coveware sẽ cung cấp khả năng điều tra và khắc phục…

23 tháng tư 2024

Cuộc cách mạng xanh và kỹ thuật số: Bảo trì dự đoán đang biến đổi ngành dầu khí như thế nào

Bảo trì dự đoán đang cách mạng hóa ngành dầu khí, với cách tiếp cận sáng tạo và chủ động trong quản lý nhà máy.…

22 tháng tư 2024

Cơ quan quản lý chống độc quyền của Anh đưa ra cảnh báo BigTech về GenAI

CMA Vương quốc Anh đã đưa ra cảnh báo về hành vi của Big Tech trên thị trường trí tuệ nhân tạo. Ở đó…

18 tháng tư 2024

Đọc Đổi mới bằng ngôn ngữ của bạn

Bản tin đổi mới
Đừng bỏ lỡ những tin tức quan trọng nhất về đổi mới. Đăng ký để nhận chúng qua email.

Theo chúng tôi