εμπορεύματα

Πώς να ρυθμίσετε το Laravel ώστε να χρησιμοποιεί πολλές βάσεις δεδομένων στο έργο σας

Κανονικά ένα έργο ανάπτυξης λογισμικού περιλαμβάνει τη χρήση μιας βάσης δεδομένων για την αποθήκευση δεδομένων με δομημένο τρόπο.

Για συγκεκριμένα έργα μπορεί να είναι απαραίτητη η χρήση πολλαπλών βάσεων δεδομένων.

Με τη Laravel, για να χρησιμοποιήσουμε πολλές βάσεις δεδομένων, πρέπει να διαμορφώσουμε το πλαίσιο και συγκεκριμένα το αρχείο διαμόρφωσης συνδέσεων.

Ας δούμε πώς να ρυθμίσετε το Laravel ώστε να χρησιμοποιεί πολλές βάσεις δεδομένων.

Εκτιμώμενος χρόνος ανάγνωσης: 4 λεπτά

Αρχεία database.php in config κατάλογο

Αυτό το αρχείο βρίσκεται στον κατάλογο config της εφαρμογής Laravel σας.

Στο αρχείο database.php είναι δυνατόν definish πολλαπλές συνδέσεις βάσης δεδομένων. Κάθε σύνδεση πρέπει να είναι 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',
        ],

Πώς να συνδεθείτε στο DB

Μετά από defiΑφού έχετε συνδέσεις βάσης δεδομένων, μπορείτε να τις χρησιμοποιήσετε στον κώδικά σας Laravel. Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε το facade της βάσης δεδομένων. Εκεί facade Η βάση δεδομένων παρέχει μια ενοποιημένη διεπαφή για αλληλεπίδραση με βάσεις δεδομένων.

Για εναλλαγή μεταξύ συνδέσεων βάσης δεδομένων, μπορείτε να χρησιμοποιήσετε τη μέθοδο Connection() του facade Βάσεις δεδομένων. Η μέθοδος Connection() παίρνει το όνομα της σύνδεσης της βάσης δεδομένων ως όρισμα.

Για παράδειγμα, ο παρακάτω κώδικας πηγαίνει από το mysql DB στο pgsql DB:

Ενημερωτικό δελτίο καινοτομίας
Μην χάσετε τα πιο σημαντικά νέα για την καινοτομία. Εγγραφείτε για να τα λάβετε μέσω email.
use Illuminate\Support\Facades\DB;

DB::connection('pgsql');

Μόλις μεταβείτε σε μια σύνδεση βάσης δεδομένων, μπορείτε να τη χρησιμοποιήσετε για να κάνετε ερωτήσεις και να αλληλεπιδράσετε με τη βάση δεδομένων.

Οφέλη από τη χρήση πολλαπλών βάσεων δεδομένων στο Laravel

Υπάρχουν πολλά οφέλη από τη χρήση πολλαπλών βάσεων δεδομένων στο Laravel, όπως:

  • Καλύτερη απόδοση: Η χρήση πολλαπλών βάσεων δεδομένων μπορεί να βελτιώσει την απόδοση της εφαρμογής διαχωρίζοντας δεδομένα διαφορετικών τύπων. Για παράδειγμα, μπορείτε να αποθηκεύσετε δεδομένα χρήστη σε μια βάση δεδομένων και δεδομένα προϊόντος σε άλλη βάση δεδομένων.
  • Αυξημένη ασφάλεια: Η χρήση πολλαπλών βάσεων δεδομένων μπορεί να βελτιώσει την ασφάλεια της εφαρμογής διαχωρίζοντας δεδομένα διαφορετικών τύπων. Για παράδειγμα, μπορείτε να αποθηκεύσετε ευαίσθητα δεδομένα σε μια βάση δεδομένων και λιγότερο ευαίσθητα δεδομένα σε μια άλλη βάση δεδομένων.
  • Μεγαλύτερη επεκτασιμότητα: Η χρήση πολλαπλών βάσεων δεδομένων μπορεί να κάνει την εφαρμογή σας πιο επεκτάσιμη, επιτρέποντάς σας να διανείμετε τα δεδομένα σας σε πολλούς διακομιστές.

Βέλτιστες πρακτικές για τη χρήση πολλαπλών βάσεων δεδομένων στο Laravel

Ακολουθούν ορισμένες βέλτιστες πρακτικές για τη χρήση πολλαπλών βάσεων δεδομένων στο Laravel:

  • Χρησιμοποιήστε φιλικά ονόματα για συνδέσεις βάσης δεδομένων: Αυτό θα διευκολύνει τον εντοπισμό και τη διαχείριση των συνδέσεων βάσης δεδομένων.
  • Χρησιμοποιήστε τη μέθοδο Connection() να πάω από ένα DB σε άλλον - αυτό θα σας βοηθήσει να αποφύγετε την κατά λάθος εκτέλεση απορία νότος βάσεις δεδομένων λανθασμένος.
  • Χρησιμοποιήστε ένα σύστημα μετεγκατάστασης βάσης δεδομένων για τη διαχείριση των σχημάτων βάσης δεδομένων σας – αυτό θα σας βοηθήσει να διατηρήσετε τα σχήματα της βάσης δεδομένων σας συγχρονισμένα σε όλα τα βάσεις δεδομένων.

συμπέρασμα

Η χρήση πολλαπλών βάσεων δεδομένων στο Laravel μπορεί να είναι ένας πολύ καλός τρόπος για να βελτιώσετε την απόδοση, την ασφάλεια και την επεκτασιμότητα της εφαρμογής σας. Ακολουθώντας τις βέλτιστες πρακτικές που περιγράφονται σε αυτό το άρθρο, μπορείτε να χρησιμοποιήσετε αποτελεσματικά πολλές βάσεις δεδομένων στο Laravel.

Σχετικές αναγνώσεις

Ercole Palmeri

Ενημερωτικό δελτίο καινοτομίας
Μην χάσετε τα πιο σημαντικά νέα για την καινοτομία. Εγγραφείτε για να τα λάβετε μέσω email.

Πρόσφατα άρθρα

Ηλεκτρονικές πληρωμές: Δείτε πώς οι υπηρεσίες ροής σας κάνουν να πληρώνετε για πάντα

Εκατομμύρια άνθρωποι πληρώνουν για υπηρεσίες ροής, πληρώνοντας μηνιαίες συνδρομές. Είναι κοινή γνώμη ότι…

Απρίλιος 29 2024

Το Veeam διαθέτει την πιο ολοκληρωμένη υποστήριξη για ransomware, από προστασία έως απόκριση και ανάκτηση

Η Coveware από την Veeam θα συνεχίσει να παρέχει υπηρεσίες αντιμετώπισης περιστατικών εκβιασμών στον κυβερνοχώρο. Το Coveware θα προσφέρει ιατροδικαστικές και δυνατότητες αποκατάστασης…

Απρίλιος 23 2024

Πράσινη και ψηφιακή επανάσταση: Πώς η προβλεπτική συντήρηση μεταμορφώνει τη βιομηχανία πετρελαίου και φυσικού αερίου

Η προγνωστική συντήρηση φέρνει επανάσταση στον τομέα του πετρελαίου και του φυσικού αερίου, με μια καινοτόμο και προορατική προσέγγιση στη διαχείριση των εγκαταστάσεων.…

Απρίλιος 22 2024

Η ρυθμιστική αρχή αντιμονοπωλιακής νομοθεσίας του Ηνωμένου Βασιλείου εγείρει συναγερμό της BigTech για το GenAI

Η βρετανική CMA εξέδωσε προειδοποίηση σχετικά με τη συμπεριφορά της Big Tech στην αγορά τεχνητής νοημοσύνης. Εκεί…

Απρίλιος 18 2024

Διαβάστε την Καινοτομία στη γλώσσα σας

Ενημερωτικό δελτίο καινοτομίας
Μην χάσετε τα πιο σημαντικά νέα για την καινοτομία. Εγγραφείτε για να τα λάβετε μέσω email.

Seguici