Δημιουργία δεδομένων με χρήση Seeder in Laravel

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

 

Δημιουργώ ένα Seeder

Για να δημιουργήσετε ένα νέο seeder, μπορείτε να χρησιμοποιήσετε την εντολή Artisan. Για παράδειγμα, για να δημιουργήσετε έναν πίνακα για τους χρήστες, εκτελέστε την ακόλουθη εντολή: make:seeder seeder

php artisan make:seeder UsersTableSeeder

 

Ορισμός Δεδομένων

Ανοίξτε το seeder αρχείο που δημιουργήθηκε στον  κατάλογο. Στη μέθοδο, μπορείτε να ορίσετε τα δεδομένα που θέλετε να τοποθετήσετε στη βάση δεδομένων. Μπορείτε να χρησιμοποιήσετε το εργαλείο δημιουργίας ερωτημάτων ή το Eloquent ORM για να εισαγάγετε τα δεδομένα. database/seeders run Laravel

public function run()  
{  
    DB::table('users')->insert([  
        [  
            'name' => 'John Doe',  
            'email' => '[email protected]',  
            'password' => bcrypt('password123'),  
        ],  
        [  
            'name' => 'Jane Doe',  
            'email' => '[email protected]',  
            'password' => bcrypt('password456'),  
        ],  
        // Add more data as needed  
    ]);  
}  

 

Εκτελέστε το Seeder

Για να εκτελέσετε seeder και να εισαγάγετε τα δεδομένα στη βάση δεδομένων, χρησιμοποιήστε την db:seed εντολή Artisan. Από προεπιλογή, όλα seeder θα εκτελούνται. Εάν θέλετε να εκτελέσετε ένα συγκεκριμένο seeder, μπορείτε να χρησιμοποιήσετε την --class επιλογή.

php artisan db:seed

 

Seeder και Rollback

Seeder μπορούν να επαναφερθούν όπως και οι μεταναστεύσεις. Για να αναιρέσετε την τελευταία παρτίδα του seeder, μπορείτε να χρησιμοποιήσετε την db:seed --class εντολή με την --reverse επιλογή.

 

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