Εκτιμώμενος χρόνος ανάγνωσης: 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',
],
Μετά από defiΑφού έχετε συνδέσεις βάσης δεδομένων, μπορείτε να τις χρησιμοποιήσετε στον κώδικά σας Laravel
. Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε το facade
της βάσης δεδομένων. Εκεί facade
Η βάση δεδομένων παρέχει μια ενοποιημένη διεπαφή για αλληλεπίδραση με βάσεις δεδομένων.
Για εναλλαγή μεταξύ συνδέσεων βάσης δεδομένων, μπορείτε να χρησιμοποιήσετε τη μέθοδο Connection()
του facade
Βάσεις δεδομένων. Η μέθοδος Connection()
παίρνει το όνομα της σύνδεσης της βάσης δεδομένων ως όρισμα.
Για παράδειγμα, ο παρακάτω κώδικας πηγαίνει από το mysql DB στο pgsql DB:
use Illuminate\Support\Facades\DB;
DB::connection('pgsql');
Μόλις μεταβείτε σε μια σύνδεση βάσης δεδομένων, μπορείτε να τη χρησιμοποιήσετε για να κάνετε ερωτήσεις και να αλληλεπιδράσετε με τη βάση δεδομένων.
Υπάρχουν πολλά οφέλη από τη χρήση πολλαπλών βάσεων δεδομένων στο Laravel, όπως:
Ακολουθούν ορισμένες βέλτιστες πρακτικές για τη χρήση πολλαπλών βάσεων δεδομένων στο Laravel:
Connection()
να πάω από ένα DB σε άλλον - αυτό θα σας βοηθήσει να αποφύγετε την κατά λάθος εκτέλεση απορία νότος βάσεις δεδομένων λανθασμένος.Η χρήση πολλαπλών βάσεων δεδομένων στο Laravel μπορεί να είναι ένας πολύ καλός τρόπος για να βελτιώσετε την απόδοση, την ασφάλεια και την επεκτασιμότητα της εφαρμογής σας. Ακολουθώντας τις βέλτιστες πρακτικές που περιγράφονται σε αυτό το άρθρο, μπορείτε να χρησιμοποιήσετε αποτελεσματικά πολλές βάσεις δεδομένων στο Laravel.
Ercole Palmeri
Εκατομμύρια άνθρωποι πληρώνουν για υπηρεσίες ροής, πληρώνοντας μηνιαίες συνδρομές. Είναι κοινή γνώμη ότι…
Η Coveware από την Veeam θα συνεχίσει να παρέχει υπηρεσίες αντιμετώπισης περιστατικών εκβιασμών στον κυβερνοχώρο. Το Coveware θα προσφέρει ιατροδικαστικές και δυνατότητες αποκατάστασης…
Η προγνωστική συντήρηση φέρνει επανάσταση στον τομέα του πετρελαίου και του φυσικού αερίου, με μια καινοτόμο και προορατική προσέγγιση στη διαχείριση των εγκαταστάσεων.…
Η βρετανική CMA εξέδωσε προειδοποίηση σχετικά με τη συμπεριφορά της Big Tech στην αγορά τεχνητής νοημοσύνης. Εκεί…